Spelling suggestions: "subject:"3analyse dynamique"" "subject:"analanalyse dynamique""
21 |
Etude exploratoire de la discrimination par les quantités de réponses itérées chez l'humain / Exploratory study of discrimination by the quantities of iterated responses in humansMekkass, Francis 09 December 2016 (has links)
Cette thèse se propose d’étudier la discrimination des comportements par les quantités de réponses itérées. Ce champ de recherche s’inscrit dans celui, plus large, de la discrimination des comportements par les quantités. Nous avons tout d’abord cherché à explorer la façon dont les comportements peuvent être discriminés par des quantités différentes d’itérations de réponses et de quelle façon l’installation ou non de cette discrimination peut être mise en correspondance avec une évolution de l’entropie du débit des réponses itérées. Ensuite, nous avons exploré la dynamique des réponses itérées en fonction de la quantité des itérations requises. Après cela, nous avons cherché à savoir s’il était possible de mettre en correspondance l’existence de dynamiques de réponses propres à des quantités avec l’installation ou non d’une discrimination des comportements par des couples différents composés de ces mêmes quantités. Enfin, en vue d’explorer en quoi l’installation d’’une dynamique des réponses permettait l’installation d’une discrimination des comportements, nous avons perturbé, en modifiant la topographie des réponses requises, l’installation de cette dynamique de réponses, et en avons mesuré les effets sur l’installation de la discrimination de comportements par ces quantités de réponses itérées. Les résultats montrent que l’évolution de l’entropie des débits de réponses itérées est orientée en fonction de l’installation ou non d’une discrimination des comportements par des quantités différentes d’itérations de réponses requises : l’entropie diminue lorsque la discrimination par des quantités de réponses itérées est installée, et augmente dans le cas contraire. Ce résultat n’est vrai que pour les participants ayant atteint au moins une fois le critère de décision que nous nous étions fixé pour juger de l’installation de la discrimination. L’analyse de la dynamique des réponses itérées en fonction de chaque quantité d’itérations requise montre qu’il existe presque systématiquement une dynamique propre à chaque quantité d’itérations de réponses requise, pour tous les participants, cette dynamique de réponses étant également propre à la topographie de la réponse requise. La perturbation de l’installation de la dynamique des réponses a, en outre, un effet sur l’installation de la discrimination des comportements par les quantités d’itérations de réponses. Au regard de ces résultats, nous pouvons conclure qu’il existe une correspondance entre l’installation ou non de la discrimination par des quantités de réponses itérées et l’évolution de l’entropie des débits de ces réponses itérées. Néanmoins, tandis que nous pouvons conclure à la pertinence d’analyser la dynamique des réponses itérées pour en étudier la complexité, la mise en correspondance entre celle-ci et la façon dont chaque quantité d’itérations de réponses prend ou non le contrôle de comportements spécifiques n’est pas possible à ce stade, bien que des pistes vers de futures études aient été proposées, pour explorer plus avant cette relation / This dissertation focuses on discrimination of behaviors by iterated responses, which falls in the scope of field of discrimination by quantities. First, we investigate how discrimination by several couples of iterated responses quantities could be related with the evolution of instantaneous rates of iterated responses entropy. Then, iterated responses dynamic was analyzed for several iterated responses quantities, and response topographies. The third experiment investigates the correspondence between specific dynamics of responses exhibited in fixed-ratio schedules and discrimination by couples of quantities of iterated responses. At last, effects of the disruption of the installation of the dynamic of responses on discrimination by these quantities of iterated responses have been measured. Results show that discrimination by quantities of iterated responses is possible, and that specific dynamics of responses match specific quantities of iterated responses. Although correspondence between such dynamics and discrimination have not been demonstrated, effects of disruption of dynamic of responses installation have been observed suggesting that a link between dynamic of responses and discrimination exists.
|
22 |
Highlight and execute suspicious paths in Android malware / Mettre en avant et exécuter les chemins suspicieux dans les malwares AndroidLeslous, Mourad 18 December 2018 (has links)
Les smartphones sont devenus omniprésents dans notre vie quotidienne à cause des options qu'ils proposent. Aujourd'hui, Android est installé sur plus de 80% des smartphones. Les applications mobiles recueillent une grande quantité d'informations sur l'utilisateur. Par conséquent, Android est devenu une cible préférée des cybercriminels. Comprendre le fonctionnement des malwares et comment les détecter est devenu un défi de recherche important. Les malwares Android tentent souvent d'échapper à l'analyse statique en utilisant des techniques telles que l'obfuscation et le chargement dynamique du code. Des approches d'analyse ont été proposées pour exécuter l'application et surveiller son comportement. Néanmoins, les développeurs des malwares utilisent des bombes temporelles et logiques pour empêcher le code malveillant d'être exécuté sauf dans certaines circonstances. Par conséquent, plus d'actions sont requises pour déclencher et surveiller leurs comportements. Des approches récentes tentent de caractériser automatiquement le comportement malveillant en identifiant les endroits du code les plus suspicieux et en forçant leur exécution. Elles se basent sur le calcul des graphes de flot de contrôle (CFG) qui sont incomplets, car ils ne prennent pas en considération tous les types de chemins d'exécution. Ces approches analysent seulement le code d'application et ratent les chemins d'exécution générés quand l'application appelle une méthode du framework, qui appelle à son tour une autre méthode applicative. Nous proposons GPFinder, un outil qui extrait automatiquement les chemins d'exécution qui mènent vers les endroits suspicieux du code, en calculant des CFG qui incluent les appels interprocéduraux explicites et implicites. Il fournit aussi des informations clés sur l'application analysée afin de comprendre comment le code suspicieux a été injecté dans l'application. Pour valider notre approche, nous utilisons GPFinder pour étudier une collection de 14224 malwares Android. Nous évaluons que 72,69% des échantillons ont au moins un endroit suspicieux du code qui n'est atteignable qu'à travers des appels implicites. Les approches de déclenchement actuelles utilisent principalement deux stratégies pour exécuter une partie du code applicatif. La première stratégie consiste à modifier l'application excessivement pour lancer le code ciblé sans faire attention à son contexte originel. La seconde stratégie consiste à générer des entrées pour forcer le flot de contrôle à prendre le chemin désiré sans modifier le code d'application. Cependant, il est parfois difficile de lancer un endroit spécifique du code seulement en manipulant les entrées. Par exemple, quand l'application fait un hachage des données fournies en entrée et compare le résultat avec une chaîne de caractères fixe pour décider quelle branche elle doit prendre. Clairement, le programme de manipulation d'entrée devrait inverser la fonction de hachage, ce qui est presque impossible. Nous proposons TriggerDroid, un outil qui a deux buts : forcer l'exécution du code suspicieux et garder le contexte originel de l'application. Il fournit les événements framework requis pour lancer le bon composant et satisfait les conditions nécessaires pour prendre le chemin d'exécution désiré. Pour valider notre approche, nous avons fait une expérience sur 135 malwares Android de 71 familles différentes. Les résultats montrent que notre approche nécessite plus de raffinement et d'adaptation pour traiter les cas spéciaux dus à la grande diversité des échantillons analysés. Finalement, nous fournissons un retour sur les expériences que nous avons conduites sur différentes collections, et nous expliquons notre processus expérimental. Nous présentons le dataset Kharon, une collection de malwares Android bien documentés qui peuvent être utilisés pour comprendre le panorama des malwares Android. / The last years have known an unprecedented growth in the use of mobile devices especially smartphones. They became omnipresent in our daily life because of the features they offer. They allow the user to install third-party apps to achieve numerous tasks. Smartphones are mostly governed by the Android operating system. It is today installed on more than 80% of the smartphones. Mobile apps collect a huge amount of data such as email addresses, contact list, geolocation, photos and bank account credentials. Consequently, Android has become a favorable target for cyber criminals. Thus, understanding the issue, i.e., how Android malware operates and how to detect it, became an important research challenge. Android malware frequently tries to bypass static analysis using multiple techniques such as code obfuscation and dynamic code loading. To overcome these limitations, many analysis techniques have been proposed to execute the app and monitor its behavior at runtime. Nevertheless, malware developers use time and logic bombs to prevent the malicious code from executing except under certain circumstances. Therefore, more actions are needed to trigger it and monitor its behavior. Recent approaches try to automatically characterize the malicious behavior by identifying the most suspicious locations in the code and forcing them to execute. They strongly rely on the computation of application global control flow graphs (CFGs). However, these CFGs are incomplete because they do not take into consideration all types of execution paths. These approaches solely analyze the application code and miss the execution paths that occur when the application calls a framework method that in turn calls another application method. We propose in this dissertation a tool, GPFinder, that automatically exhibits execution paths towards suspicious locations in the code by computing global CFGs that include edges representing explicit and implicit interprocedural calls. It also gives key information about the analyzed application in order to understand how the suspicious code was injected into the application. To validate our approach, we use GPFinder to study a collection of 14,224 malware samples, and we evaluate that 72.69% of the samples have at least one suspicious code location which is only reachable through implicit calls. Triggering approaches mainly use one of the following strategies to run a specific portion of the application's code: the first approach heavily modifies the app to launch the targeted code without keeping the original behavioral context. The second approach generates the input to force the execution flow to take the desired path without modifying the app's code. However, it is sometimes hard to launch a specific code location just by fuzzing the input. For instance, when the application performs a hash on the input data and compares the result to a fixed string to decide which branch of the condition to take, the fuzzing program should reverse the hashing function, which is obviously a hard problem. We propose in this dissertation a tool, TriggerDroid, that has a twofold goal: force the execution of the suspicious code and keep its context close to the original one. It crafts the required framework events to launch the right app component and satisfies the necessary triggering conditions to take the desired execution path. To validate our approach, we led an experiment on a dataset of 135 malware samples from 71 different families. Results show that our approach needs more refinement and adaptation to handle special cases due to the highly diverse malware dataset that we analyzed. Finally, we give a feedback on the experiments we led on different malware datasets, and we explain our experimental process. Finally, we present the Kharon dataset, a collection of well documented Android malware that can be used to understand the malware landscape.
|
23 |
Numerical modeling of liquefaction-induced failure of geostructures subjected to earthquakes / Modélisation numérique de la liquéfaction des sols : application à l’analyse sismique de la tenue des barragesRapti, Ioanna 01 April 2016 (has links)
L'importance croissante de l'évaluation de la performance des structures soumis au chargement sismique souligne la nécessité d'estimer le risque de liquéfaction. Dans ce scénario extrême de la liquéfaction du sol, des conséquences dévastatrices sont observées, par exemple des tassements excessifs et des instabilités de pentes. Dans le cadre de cette thèse, la réponse dynamique et l'interaction d'un système ouvrage en terre-fondation sont étudiées, afin de déterminer quantitativement le mécanisme de ruine dû à la liquéfaction du sol de la fondation. Par ailleurs, les chargements sismiques peuvent induire dans les ouvrages en terre un mode de rupture générant des bandes de cisaillement. Une étude de sensibilité aux maillages a donc été engagée pour quantifier la dépendance des résultats de l'analyse dynamique. Par conséquent, l'utilisation d'une méthode de régularisation est évaluée au cours des analyses dynamiques. Le logiciel open-source Code_Aster, basé sur la méthode des Eléments Finis et développé par EDF R&D, est utilisé pour les simulations numériques, tandis que le comportement du sol est représenté par le modèle de comportement de l'ECP, développé à CentraleSupélec. En premier lieu, un modèle simplifié de propagation 1D des ondes SH dans une colonne de sol avec comportement hydromécanique couplé non linéaire a été simulé. L'effet des caractéristiques du signal sismique et de la perméabilité du sol sur la liquéfaction est évalué. Le signal sismique d'entrée est un élément important pour l'apparition de la liquéfaction, puisque la durée du choc principal peut conduire à de fortes non linéarités et à un état de liquéfaction étendu. En outre, quand une variation de perméabilité en fonction de l'état de liquéfaction est considérée, des changements significatifs sont observés pendant la phase de dissipation de la surpression interstitielle de l'eau et au comportement du matériau. En revanche, ces changements ne suivent pas une tendance unique. Puis, l'effet d'une méthode de régularisation avec cinématique enrichie, appelée premier gradient de dilatation, sur la propagation des ondes SH est étudié au travers d'une solution analytique. Des problèmes à la réponse dynamique du sol sont observés et discutés quand cette méthode de régularisation est appliquée. Ensuite, un modèle 2D d'un déblai est simulé et sa réponse dynamique est évaluée en conditions sèches, complètement drainées et hydromécanique couplées. Deux critères sont utilisés pour définir le début de la rupture de la structure. Le travail du second ordre est utilisé pour décrire l'instabilité locale à des instants spécifiques du mouvement sismique, tandis que l'estimation d'un facteur de sécurité locale est proposée prenant en compte la résistance résiduelle du sol. En ce qui concerne le mode de ruine, l'effet de la surpression interstitielle de l'eau est de grande importance, puisqu'un déblai stable en conditions sèches et complètement drainées, devient instable lors de l'analyse couplée à cause de la liquéfaction de la fondation. Enfin, un système digue-fondation est simulé et l'influence de la perméabilité du sol, la profondeur de la couche liquéfiable, ainsi que, les caractéristiques du séisme sur la ruine induite par la liquéfaction du sol est évaluée. Pour ce modèle de digue, le niveau de dommages est fortement lié à la fois à l'apparition de la liquéfaction dans la fondation et la dissipation de la surpression d'eau. Une surface d'effondrement circulaire est générée à l'intérieur de la couche du sol liquéfié et se propage vers la crête dans les deux côtés de la digue. Pourtant, lorsque la couche liquéfiée est située en profondeur, la digue n'est pas affectée par la liquéfaction de la fondation pour ce cas particulier de chargement. Ce travail de recherche se concentre sur une étude de cas de référence pour l'évaluation sismique des ouvrages en terre soumis à un séisme et fournit des méthodes et outils de calculs numériques performants accessibles aux ingénieurs. / The increasing importance of performance-based earthquake engineering analysis points out the necessity to assess quantitatively the risk of liquefaction. In this extreme scenario of soil liquefaction, devastating consequences are observed, e.g. excessive settlements, lateral spreading and slope instability. The present PhD thesis discusses the global dynamic response and interaction of an earth structure-foundation system, so as to determine quantitatively the collapse mechanism due to foundation’s soil liquefaction. As shear band generation is a potential earthquake-induced failure mode in such structures, the FE mesh dependency of results of dynamic analyses is thoroughly investigated and an existing regularization method is evaluated. The open-source FE software developed by EDF R&D, called Code_Aster is used for the numerical simulations, while soil behavior is represented by the ECP constitutive model, developed at CentraleSupélec. Starting from a simplified model of 1D SH wave propagation in a soil column with coupled hydromechanical nonlinear behavior, the effect of seismic hazard and soil’s permeability on liquefaction is assessed. Input ground motion is a key component for soil liquefaction apparition, as long duration of mainshock can lead to important nonlinearity and extended soil liquefaction. Moreover, when a variation of permeability as function of liquefaction state is considered, changes in the dissipation phase of excess pore water pressure and material behavior are observed, which do not follow a single trend. The effect of a regularization method with enhanced kinematics approach, called first gradient of dilation model, on 1D SH wave propagation is studied through an analytical solution. Deficiencies of the use of this regularization method are observed and discussed, e.g. spurious waves apparition in the soil’s seismic response. Next, a 2D embankment-type model is simulated and its dynamic response is evaluated in dry, fully drained and coupled hydromechanical conditions. Two criteria are used to define the onset of the structure’s collapse. The second order work is used to describe the local instability at specific instants of the ground motion, while the estimation of a local safety factor is proposed by calculating soil’s residual strength. Concerning the failure mode, the effect of excess pore water pressure is of great importance, as an otherwise stable structure-foundation system in dry and fully drained conditions becomes unstable during coupled analysis. Finally, a levee- foundation system is simulated and the influence of soil’s permeability, depth of the liquefiable layer, as well as, characteristics of input ground motion on the liquefaction-induced failure is evaluated. For the current levee model, its induced damage level (i.e. settlements and deformations) is strongly related to both liquefaction apparition and dissipation of excess pore water pressure on the foundation. A circular collapse surface is generated inside the liquefied region and extends towards the crest in both sides of the levee. Even so, when the liquefied layer is situated in depth, no effect on the levee response is found. This research work can be considered as a reference case study for seismic assessment of embankment-type structures subjected to earthquake and provides a high-performance computational framework accessible to engineers.
|
24 |
Characterization of dynamic molecular networks in control ischemic-reperfused mouse heart / Caractérisation dynamique du réseaux moléculaire dans un modèle contrôle de coeur de souris soumis à l’ischémie-reperfusionBadawi, Sally 17 September 2019 (has links)
Les maladies cardiovasculaires représentent un important problème de santé publique à travers le monde. Parmi ces pathologies, l’infarctus du myocarde (IM) a fait l’objet de nombreux essais visant à diminuer sa sévérité. Néanmoins peu ont remporté leur pari. Cet échec peut avoir plusieurs composantes parmi lesquelles la méconnaissance de la complexité des mécanismes moléculaires impliqués. Notre compréhension de l’IM a cependant été nettement améliorée grâce à des méthodes utilisées pendant les dernières décennies et qui consistaient à étudier séparément un nombre limité d’acteurs moléculaires impliqués dans un mécanisme simple et linéaire. Cependant, l’échec des essais cliniques basés sur ces approches réductionnistes ont montré leurs limites. L’émergence de la biologie des systèmes, ces dernières années, a stimulé les recherches visant à mieux intégrer et comprendre la nature complexe et stochastique des réseaux moléculaires et leur dynamique dans la progression des pathologies. L’objectif général de cette thèse a consisté en le développement et l’amélioration de méthode d’analyses et de combinaison des données spatio-temporelles issus d’expériences réalisées sur un modèle d’infarctus du myocarde chez la souris. L’objectif scientifique visait à caractériser les principaux signaux dynamiques au cours de la séquence d’ischémie-reperfusion. A cet effet, nous avons tout d’abord développé une chaîne de méthode utilisant la clarification d’organe et la microscopie de fluorescence permettant de quantifier, en 3 dimensions, la zone du myocarde soumise au choc oxydant lors de la reperfusion. Dans une seconde partie, nous avons développé une nouvelle chaîne analytique pour caractériser la dynamique d’expression des transcrits. Appliquée aux animaux contrôles (soumis à la chirurgie et l’anesthésie), nous mettrons, grâce à cette chaîne de méthode, le rôle majeur de la voie de l’interleukine 6 dans le développement de la réponse immunitaire et nous concluons ainsi sur la nécessité de réaliser une analyse dynamique du modèle expérimental pour caractériser sa réponse à l’échelle moléculaire et éviter toute surinterprétation de la réponse à l’IM / Cardiovascular diseases represent a major health burden worldwide. According to the World Health Organization, 17 million people are dying each year by heart diseases which account to 31% of total deaths globally. Among these diseases is myocardial infarction (MI). Several efforts have been made to decrease the associated mortality rates but unfortunately, only few has succeeded to date. This failure is contributed to several factors, among them is the misunderstanding of the mechanism responsible for the progression of the disease.Our understanding of the MI pathology has been greatly improved by the approaches that have been widely used in the previous decades, relying mainly on studying molecules/pathways separately. However, this knowledge was not enough to make a difference clinically. Therefore, deciphering the interconnections between molecules has become an urge for better understanding of the diseases’ progression. In this regard, the work in this doctoral thesis involves different aspects of the MI pathology. The general aim of this work is to improve the dynamic analytical approach using systems biology tools, where new mechanistic information is decoded. Firstly, in a 3D heart model, we propose a chain of methods using clarified mouse heart and fluorescence microscopy to molecularly characterize the area at risk in the myocardium of IR and cardioprotected mice based on its redox state. In addition, we aim to develop a new analytical approach using dynamical large-scale transcriptomic data for characterizing the dynamic transcripts expression. Applying this approach on a control mouse model (mice subjected to anesthesia and surgical interventions), we show that Il-6 is a major mediator of the activated inflammatory reaction. In conclusion, this analytical approach highlights the necessity of the sapatio-temporal analysis to characterize the molecular events occurring in response to MI
|
25 |
Évolution de la microstructure d'un PET lors du bi-étirage soufflage ; corrélation au durcissement structuralPicard, Martine 17 October 2008 (has links) (PDF)
L'évolution de la microstructure du poly(éthylène terephthalate) (polymère thermoplastique amorphe et cristallisable) a été étudiée lors de diverses sollicitations mécaniques (mono-étirage, bi-étirage et soufflage en surface libre). Le matériau a été sollicité entre les températures de transition vitreuse et de cristallisation froide (i.e. 90 °C et 115 °C). Différents traitements thermiques (recuit ou trempe) ont été appliqués après déformation. L'évolution de la texture et de la morphologie cristalline a été étudiée par différentes techniques de diffraction des rayons X (WAXS et SAXS). L'évolution de la phase amorphe a, quant à elle, été étudiée par analyse mécanique dynamique et thermique (DMTA).Quelque soit la nature des échantillons (films, éprouvettes épaisses ou préformes), des sollicitations et des conditions expérimentales (vitesses et températures), il appairait clair que la cristallisation sous déformation du PET ne conduit pas à une microstructure cristalline parfaite si elle est ponctuée par une trempe, excepté pour des taux d'étirage élevés. La microstructure observée en fin d'étirage est donc aussi marquée par l'étape de refroidissement. Le durcissement structural est lié aux étapes initiales de la cristallisation. La phase amorphe est pour sa part fortement contrainte par la sollicitation. Pour preuve, sa plus grande aptitude à la cristallisation et les évolutions de sa température de transition alpha qui augmente. Les essais de soufflage libre ont notamment démontré combien les bouteilles sont hétérogènes tant en terme de morphologie microstructurale qu'en terme d'orientation locale des chaînes polymères. Cette hétérogénéité se manifeste aussi bien le long des bouteilles qu'au sein de leur épaisseur, rendant difficile la corrélation entre propriétés microstructurale et mécanique induites. L'étude comparative des corps creux soufflés sur prototype et souffleuse industrielle a permis d'évaluer l'influence du moule. Dans des conditions équivalentes, le moule contraint de toute évidence les déformations du matériau et peut donc avoir une incidence non négligeable sur les microstructures et propriétés induites finales.
|
26 |
Etude du couplage thermomécanique dans la propagation dynamique de fissure.Soumahoro, Zoumana 02 December 2005 (has links) (PDF)
L'objectif de ce travail est d'étudier le couplage thermomécanique dans les mécanismes de rupture dynamique notamment dans la loi de comportement. Le problème de propagation de fissure est étudié dans le cadre de la thermodynamique classique. Les conséquences du premier et second principe sont déduites, en particulier, il est montré que la pointe de fissure se comporte comme une source mobile. Les singularités puis les régularités de température sont discutées. En élastodynamique, l'expression asymptotique de la solution couplée est donnée en élasticité et conduction linéaire. En plasticité dynamique, la réponse mécanique et thermique est simulée pour le mouvement d'état d'équilibre instantané et le mode I de chargement. Le problème de fissure fixe est discuté sous l'hypot! hèse d'adiabaticité. Pour une restriction unidimensionnelle, les équations mécanique et thermique sont découplées dans toute la structure avec en pointe de fissure un couplage thermomécanique simplifié. Les résultats obtenus sont comparés aux observations expérimentales par des essais de flexion 3 points instrumentés thermiques.
|
27 |
Technique de visualisation pour l’identification de l’usage excessif d’objets temporaires dans les traces d’exécutionDuseau, Fleur 12 1900 (has links)
De nos jours, les applications de grande taille sont développées à l’aide de nom-
breux cadres d’applications (frameworks) et intergiciels (middleware). L’utilisation ex-
cessive d’objets temporaires est un problème de performance commun à ces applications.
Ce problème est appelé “object churn”. Identifier et comprendre des sources d’“object
churn” est une tâche difficile et laborieuse, en dépit des récentes avancées dans les tech-
niques d’analyse automatiques.
Nous présentons une approche visuelle interactive conçue pour aider les développeurs
à explorer rapidement et intuitivement le comportement de leurs applications afin de
trouver les sources d’“object churn”. Nous avons implémenté cette technique dans Vasco,
une nouvelle plate-forme flexible. Vasco se concentre sur trois principaux axes de con-
ception. Premièrement, les données à visualiser sont récupérées dans les traces d’exécu-
tion et analysées afin de calculer et de garder seulement celles nécessaires à la recherche
des sources d’“object churn”. Ainsi, des programmes de grande taille peuvent être vi-
sualisés tout en gardant une représentation claire et compréhensible. Deuxièmement,
l’utilisation d’une représentation intuitive permet de minimiser l’effort cognitif requis
par la tâche de visualisation. Finalement, la fluidité des transitions et interactions permet
aux utilisateurs de garder des informations sur les actions accomplies. Nous démontrons
l’efficacité de l’approche par l’identification de sources d’“object churn” dans trois ap-
plications utilisant intensivement des cadres d’applications framework-intensive, inclu-
ant un système commercial. / Nowadays, large framework-intensive programs are developed using many layers of
frameworks and middleware. Bloat, and particularly object churn, is a common per-
formance problem in framework-intensive applications. Object churn consists of an ex-
cessive use of temporary objects. Identifying and understanding sources of churn is a
difficult and labor-intensive task, despite recent advances in automated analysis tech-
niques.
We present an interactive visualization approach designed to help developers quickly
and intuitively explore the behavior of their application with respect to object churn. We
have implemented this technique in Vasco, a new flexible and scalable visualization
platform. Vasco follows three main design goals. Firstly, data is collected from execu-
tion traces. It is analyzed in order to calculate and keep only the data that is necessary
to locate sources of object churn. Therefore, large programs can be visualized while
keeping a clear and understandable view. Secondly, the use of an intuitive view allows
minimizing the cognitive effort required for the visualization task. Finally, the fluidity
of transitions and interactions allows users to mentally preserve the context throughout
their interactions. We demonstrate the effectiveness of the approach by identifying churn
in three framework-intensive applications, including a commercial system.
|
28 |
Rétro ingénierie des modèles d’objets dynamiques pour JavaScriptBoudraa, Dalil 05 1900 (has links)
La compréhension des objets dans les programmes orientés objet est une tâche impor-
tante à la compréhension du code. JavaScript (JS) est un langage orienté-objet dyna-
mique, et son dynamisme rend la compréhension du code source très difficile. Dans ce
mémoire, nous nous intéressons à l’analyse des objets pour les programmes JS. Notre
approche construit de façon automatique un graphe d’objets inspiré du diagramme de
classes d’UML à partir d’une exécution concrète d’un programme JS. Le graphe résul-
tant montre la structure des objets ainsi que les interactions entre eux.
Notre approche utilise une transformation du code source afin de produire cette in-
formation au cours de l’exécution. Cette transformation permet de recueillir de l’infor-
mation complète au sujet des objets crées ainsi que d’intercepter toutes les modifications
de ces objets. À partir de cette information, nous appliquons plusieurs abstractions qui
visent à produire une représentation des objets plus compacte et intuitive. Cette approche
est implémentée dans l’outil JSTI.
Afin d’évaluer l’utilité de l’approche, nous avons mesuré sa performance ainsi que le
degré de réduction dû aux abstractions. Nous avons utilisé les dix programmes de réfé-
rence de V8 pour cette comparaison. Les résultats montrent que JSTI est assez efficace
pour être utilisé en pratique, avec un ralentissement moyen de 14x. De plus, pour 9 des 10
programmes, les graphes sont suffisamment compacts pour être visualisés. Nous avons
aussi validé l’approche de façon qualitative en inspectant manuellement les graphes gé-
nérés. Ces graphes correspondent généralement très bien au résultat attendu.
Mots clés: Analyse de programmes, analyse dynamique, JavaScript, profilage. / Understanding of objects in object-oriented programs is an important task for understanding the code. JavaScript (JS) is a dynamic object-oriented language, Its dynamic nature makes understanding its source code very difficult. In this thesis, we focus on object analysis in JS programs to automatically produce a graph of objects inspired by UML class diagrams from an execution trace. The resulting graph shows the structure of the objects as well as their interconnections. Our approach uses a source-to-source transformation of the original code in order to collect information at runtime. This transformation makes it possible to collect complete information with respect to object creations and property updates. From this information, we perform multiple abstractions that aim to generate a more compact and intuitive representation of objects. This approach has been implemented in the JSTI prototype.
To evaluate our approach, we measured its performance and the graph compression achieved by our abstractions. We used the ten V8 benchmarks for this purpose. Results show that JSTI is efficient enough to be used in practice, with an average slowdown of around 14x. Moreover, for 9 out of the 10 studied programs, the generated object graphs are sufficiently small to be visualized directly by developers. We have also performed a qualitative validation of the approach by manually inspecting the generated graphs. We have found that the graphs generated by JSTI generally correspond very closely to the expected results.
Keywords: Program analysis, dynamic analysis, JavaScript, profiling.
|
29 |
Génération efficace de graphes d’appels dynamiques completsIkhlef, Hajar 11 1900 (has links)
Analyser le code permet de vérifier ses fonctionnalités, détecter des bogues ou améliorer sa performance. L’analyse du code peut être statique ou dynamique. Des approches combinants les deux analyses sont plus appropriées pour les applications de taille industrielle où l’utilisation individuelle de chaque approche ne peut fournir les résultats souhaités.
Les approches combinées appliquent l’analyse dynamique pour déterminer les portions
à problèmes dans le code et effectuent par la suite une analyse statique concentrée sur
les parties identifiées. Toutefois les outils d’analyse dynamique existants génèrent des
données imprécises ou incomplètes, ou aboutissent en un ralentissement inacceptable du temps d’exécution.
Lors de ce travail, nous nous intéressons à la génération de graphes d’appels dynamiques complets ainsi que d’autres informations nécessaires à la détection des portions à
problèmes dans le code. Pour ceci, nous faisons usage de la technique d’instrumentation dynamique du bytecode Java pour extraire l’information sur les sites d’appels, les sites de création d’objets et construire le graphe d’appel dynamique du programme. Nous démontrons qu’il est possible de profiler dynamiquement une exécution complète d’une application à temps d’exécution non triviale, et d’extraire la totalité de l’information à un coup raisonnable. Des mesures de performance de notre profileur sur trois séries de benchmarks à charges de travail diverses nous ont permis de constater que la moyenne du coût de profilage se situe entre 2.01 et 6.42.
Notre outil de génération de graphes dynamiques complets, nommé dyko, constitue
également une plateforme extensible pour l’ajout de nouvelles approches d’instrumentation. Nous avons testé une nouvelle technique d’instrumentation des sites de création d’objets qui consiste à adapter les modifications apportées par l’instrumentation au bytecode de chaque méthode. Nous avons aussi testé l’impact de la résolution des sites d’appels sur la performance générale du profileur. / Code analysis is used to verify code functionality, detect bugs or improve its performance. Analyzing the code can be done either statically or dynamically. Approaches
combining both analysis techniques are most appropriate for industrial-scale applications where each one individually cannot provide the desired results. Blended analysis,
for example, first applies dynamic analysis to identify problematic code regions and then performs a focused static analysis on these regions. However, the existing dynamic
analysis tools generate inaccurate or incomplete data, or result in an unacceptably slow execution times.
In this work, we focus on the generation of complete dynamic call graphs with additional information required for blended analysis. We make use of dynamic instrumentation techniques of Java bytecode to extract information about call sites and object
creation sites, and to build the dynamic call graph of the program. We demonstrate that it
is possible to profile real-world applications to efficiently extract complete and accurate
information. Performance measurement of our profiler on three sets of benchmarks with
various workloads places the overhead of our profiler between 2.01 and 6.42.
Our profiling tool generating complete dynamic graphs, named dyko, is also an extensible platform for evaluating new instrumentation approaches. We tested a new adaptive
instrumentation technique for object creation sites which accommodates instrumentation
to the bytecode of each method. We also tested the impact of call sites resolution on the overall performance of the profiler.
|
30 |
Identification of behavioral and creational design patterns through dynamic analysisNG, Janice Ka-Yee January 2008 (has links)
Mémoire numérisé par la Division de la gestion de documents et des archives de l'Université de Montréal
|
Page generated in 0.2652 seconds