• Refine Query
  • Source
  • Publication year
  • to
  • Language
  • 211
  • 120
  • 16
  • Tagged with
  • 406
  • 406
  • 400
  • 399
  • 398
  • 398
  • 398
  • 398
  • 398
  • 55
  • 49
  • 49
  • 48
  • 47
  • 46
  • About
  • The Global ETD Search service is a free service for researchers to find electronic theses and dissertations. This service is provided by the Networked Digital Library of Theses and Dissertations.
    Our metadata is collected from universities around the world. If you manage a university/consortium/country archive and want to be added, details can be found on the NDLTD website.
121

Protocole de routage basé sur des passerelles mobiles pour un accès Internet dans les réseaux véhiculaires

Ba, Amadou Adama 04 1900 (has links)
La rapide progression des technologies sans fil au cours de ces dernières années a vu naître de nouveaux systèmes de communication dont les réseaux véhiculaires. Ces réseaux visent à intégrer les nouvelles technologies de l’information et de la communication dans le domaine automobile en vue d’améliorer la sécurité et le confort sur le réseau routier. Offrir un accès Internet aux véhicules et à leurs occupants peut sans doute aider à anticiper certains dangers sur la route tout en rendant plus agréables les déplacements à bord des véhicules. Le déploiement de ce service nécessite que des messages soient échangés entre les véhicules. Le routage constitue un élément crucial dans un réseau, car définissant la façon dont les différentes entités échangent des messages. Le routage dans les VANETS constitue un grand défi car ces derniers sont caractérisés par une forte mobilité entraînant une topologie très dynamique. Des protocoles ont été proposés pour étendre Internet aux réseaux véhiculaires. Toutefois, la plupart d’entre eux nécessitent un coût élevé de messages de contrôle pour l’établissement et le maintien des communications. Ceci a pour conséquence la saturation de la bande passante entrainant ainsi une baisse de performance du réseau. Nous proposons dans ce mémoire, un protocole de routage qui s’appuie sur des passerelles mobiles pour étendre Internet aux réseaux véhiculaires. Le protocole prend en compte la mobilité des véhicules et la charge du réseau pour l’établissement et le maintien des routes. / The fast progression of wireless technologies has motivated the emergence of new communications system called VANETS (Vehicular Adhoc Networks). VANETS enable vehicles on the roadway to communicate with each other and with road infrastructure using wireless capabilities. The applications of VANETS include improving safety and comfort on the road. For example, by providing Internet to vehicles, traveling can be safer and more comfortable. To provide Internet connectivity, messages need to be exchanged between the vehicles. However, it is hard to design an efficient routing protocol for connecting vehicles to Internet with a reasonable cost due to high mobility in VANETS. Although, several existing routing protocols have been proposed in the open literature to extend Internet to VANETS, they generate considerable overhead. This leads to unfairly consumption of bandwidth decreasing network performance. We design a routing protocol to connect vehicles to Internet through mobile gateways with the objective to make efficient use of the network bandwidth. Indeed, the protocol significantly reduces the communication overhead required to establish and maintain the routes relying on the mobility of the gateways and the network’s load.
122

Représentation d'un polynôme par un circuit arithmétique et chaînes additives

Elias, Yara 04 1900 (has links)
Un circuit arithmétique dont les entrées sont des entiers ou une variable x et dont les portes calculent la somme ou le produit représente un polynôme univarié. On assimile la complexité de représentation d'un polynôme par un circuit arithmétique au nombre de portes multiplicatives minimal requis pour cette modélisation. Et l'on cherche à obtenir une borne inférieure à cette complexité, et cela en fonction du degré d du polynôme. A une chaîne additive pour d, correspond un circuit arithmétique pour le monôme de degré d. La conjecture de Strassen prétend que le nombre minimal de portes multiplicatives requis pour représenter un polynôme de degré d est au moins la longueur minimale d'une chaîne additive pour d. La conjecture de Strassen généralisée correspondrait à la même proposition lorsque les portes du circuit arithmétique ont degré entrant g au lieu de 2. Le mémoire consiste d'une part en une généralisation du concept de chaînes additives, et une étude approfondie de leur construction. On s'y intéresse d'autre part aux polynômes qui peuvent être représentés avec très peu de portes multiplicatives (les d-gems). On combine enfin les deux études en lien avec la conjecture de Strassen. On obtient en particulier de nouveaux cas de circuits vérifiant la conjecture. / An arithmetic circuit with inputs among x and the integers which has product gates and addition gates represents a univariate polynomial. We define the complexity of the representation of a polynomial by an arithmetic circuit as the minimal number of product gates required for this modelization. And we seek a lower bound to this complexity, with respect to the degree d of the polynomial. An addition chain for d corresponds to an arithmetic circuit computing the monomial of degree d. Strassen's conjecture states that the minimal number of product gates required to represent a polynomial of degree d is at least the minimal length of an addition chain for d. The generalized Strassen conjecture corresponds to the same statement where the indegree of the gates of the arithmetic circuit is g instead of 2. The thesis consists, on the one hand, of the generalization of the concept of addition chains, and a study of the subject. On the other hand, it is concerned with polynomials which can be represented with very few product gates (d-gems). Both studies related to Strassen's conjecture are combined. In particular, we get new classes of circuits verifying the conjecture.
123

Simulateur compilé d’une description multi-langage des systèmes hétérogènes

Dubois, Mathieu 06 1900 (has links)
La conception de systèmes hétérogènes exige deux étapes importantes, à savoir : la modélisation et la simulation. Habituellement, des simulateurs sont reliés et synchronisés en employant un bus de co-simulation. Les approches courantes ont beaucoup d’inconvénients : elles ne sont pas toujours adaptées aux environnements distribués, le temps d’exécution de simulation peut être très décevant, et chaque simulateur a son propre noyau de simulation. Nous proposons une nouvelle approche qui consiste au développement d’un simulateur compilé multi-langage où chaque modèle peut être décrit en employant différents langages de modélisation tel que SystemC, ESyS.Net ou autres. Chaque modèle contient généralement des modules et des moyens de communications entre eux. Les modules décrivent des fonctionnalités propres à un système souhaité. Leur description est réalisée en utilisant la programmation orientée objet et peut être décrite en utilisant une syntaxe que l’utilisateur aura choisie. Nous proposons ainsi une séparation entre le langage de modélisation et la simulation. Les modèles sont transformés en une même représentation interne qui pourrait être vue comme ensemble d’objets. Notre environnement compile les objets internes en produisant un code unifié au lieu d’utiliser plusieurs langages de modélisation qui ajoutent beaucoup de mécanismes de communications et des informations supplémentaires. Les optimisations peuvent inclure différents mécanismes tels que le regroupement des processus en un seul processus séquentiel tout en respectant la sémantique des modèles. Nous utiliserons deux niveaux d’abstraction soit le « register transfer level » (RTL) et le « transaction level modeling » (TLM). Le RTL permet une modélisation à bas niveau d’abstraction et la communication entre les modules se fait à l’aide de signaux et des signalisations. Le TLM est une modélisation d’une communication transactionnelle à un plus haut niveau d’abstraction. Notre objectif est de supporter ces deux types de simulation, mais en laissant à l’usager le choix du langage de modélisation. De même, nous proposons d’utiliser un seul noyau au lieu de plusieurs et d’enlever le bus de co-simulation pour accélérer le temps de simulation. / The design of heterogeneous systems requires two main steps, modeling and simulation. Usually, simulators are connected and synchronized by using a cosimulation bus. These current approaches have many disadvantages: they are not always adapted to the distributed environments, the execution time can be very disappointing, and each simulator has its own core of simulation. We propose a new approach which consists in developing a multi-language compiled simulator where each model can be described by employing various modeling languages such as SystemC, ESyS.Net or others. Each model contains modules and communication links between them. These modules describe functionalities for a desired system. Their description is realized by using the programming object and can be described by using a syntax that a user will have chosen. We thus propose a separation between the language of modeling and simulation. The models are transformed into the same internal representation which could be seen like unique objects. Our environment compiles these internal objects by producing a unified code instead of using several languages of modeling which add many mechanisms of communications and extra informations. Optimizations can include various mechanisms such as merging processes into only one sequential process while respecting the semantics of the models. We will use two abstraction levels, the “register transfer level”(RTL) and the “transaction-level modeling”(TLM). RTL allows a low level abstraction for modeling and the communication between the modules is done with signals. The TLM is a modeling for transactional communication with a higher abstraction level than RTL. Our aim is to support these two types of simulation, but the user can choose the language of modeling. In the same way, we propose to use a single core and to remove the cosimulation bus to accelerate the simulation time.
124

Métriques de routage dans les réseaux maillés sans fil

Sarr, Yaye 04 1900 (has links)
Ces dernières années, les technologies sans fil ont connu un essor fulgurant. Elles ont permis la mise en place de réseaux sans fil à hautes performances. Les réseaux maillées sans fil (RMSF) sont une nouvelle génération de réseaux sans fil qui offrent des débits élevés par rapport aux réseaux Wi-Fi (Wireless Fidelity) classiques et aux réseaux ad-hoc. Ils présentent de nombreux avantages telles que leur forte tolérance aux pannes, leur robustesse, leur faible coût etc. Les routeurs des RMSF peuvent disposer de plusieurs interfaces radio et chaque interface peut opérer sur plusieurs canaux distincts, c’est des RMSF multiples-radios, multiples-canaux. Ce type de réseau peut accroître de manière considérable les performances des RMSF. Cependant plusieurs problèmes subsistent et doivent être résolus notamment celui du routage. Le routage dans les RMSF demeure un défi majeur. Le but des protocoles de routage est de trouver les meilleures routes i.e. des routes qui maximisent les débits et minimisent les délais, lors de l’acheminement du trafic. La qualité des routes dans les RMSF peut être fortement affectée par les interférences, les collisions, les congestions etc. Alors les protocoles doivent être en mesure de détecter ces problèmes pour pouvoir en tenir compte lors de la sélection des routes. Plusieurs études ont été dédiées aux métriques et aux protocoles de routage dans les RMSF afin de maximiser les performances de celles ci. Mais la plupart ne prennent pas en considération toutes les contraintes telles que les interférences, le problème des stations cachées etc. Ce mémoire propose une nouvelle métrique de routage pour RMSF. Nous avons mis en place une nouvelle métrique de routage pour RMSF appelée MBP (Metric Based on Probabilities). Cette métrique est destinée aux RMSF mono-radio ou multiples-radios. Elle permet d’éviter les routes à forte ii interférence. Les résultats des simulations ont montré que MBP présente des améliorations par rapport à certaines métriques : ETT, WCETT et iAWARE qui sont connues dans le domaine. / In recent years, wireless technologies have developed sharply. They allow the establishment of high performance wireless networks. Wireless Mesh Networks (WMNs) is a new generation of wireless networks that offer high throughput compared to classical Wi-Fi (Wireless Fidelity) or ad-hoc networks. WMNs have attracted significant research due to their features that include dynamic self organization, self configuration, easy maintenance and low cost. WMNs nodes can be equipped with multiples-radios and multiples-channels. This type of network can increase significantly the performance of WMNs. However, several problems must be solved including routing in WMNs. Routing in WMNs is a great challenge. The main goal of routing protocols is to find best paths i.e. paths that maximize throughputs and minimize delays when transmitting packets. Route quality can be strongly affected by interference, collisions, congestions etc. Then protocols should be able to detect these problems and take them into account during route selection. We propose a new routing metric for WMNs, called MBP that captures the impact of intra-flow and inter-flow interference in multi-radio, multi-channel networks. Results show that MBP has better performances than some existing and popular metrics like ETT, WCETT and iAWARE.
125

Analyse de dépendance des programmes à objet en utilisant les modèles probabilistes des entrées

Bouchoucha, Arbi 09 1900 (has links)
La tâche de maintenance ainsi que la compréhension des programmes orientés objet (OO) deviennent de plus en plus coûteuses. L’analyse des liens de dépendance peut être une solution pour faciliter ces tâches d’ingénierie. Cependant, analyser les liens de dépendance est une tâche à la fois importante et difficile. Nous proposons une approche pour l'étude des liens de dépendance internes pour des programmes OO, dans un cadre probabiliste, où les entrées du programme peuvent être modélisées comme un vecteur aléatoire, ou comme une chaîne de Markov. Dans ce cadre, les métriques de couplage deviennent des variables aléatoires dont les distributions de probabilité peuvent être étudiées en utilisant les techniques de simulation Monte-Carlo. Les distributions obtenues constituent un point d’entrée pour comprendre les liens de dépendance internes entre les éléments du programme, ainsi que leur comportement général. Ce travail est valable dans le cas où les valeurs prises par la métrique dépendent des entrées du programme et que ces entrées ne sont pas fixées à priori. Nous illustrons notre approche par deux études de cas. / The task of maintenance and understanding of object-oriented programs is becoming increasingly costly. Dependency analysis can be a solution to facilitate this engineering task. However, dependency analysis is a task both important and difficult. We propose a framework for studying program internal dependencies in a probabilistic setting, where the program inputs are modeled either as a random vector, or as a Markov chain. In that setting, coupling metrics become random variables whose probability distributions can be studied via Monte-Carlo simulation. The obtained distributions provide an entry point for understanding the internal dependencies of program elements, as well as their general behaviour. This framework is appropriate for the (common) situation where the value taken by the metric does depend on the program inputs and where those inputs are not fixed a priori. We provide a concrete illustration with two case studies.
126

Approche probabiliste pour l’analyse de l’impact des changements dans les programmes orientés objet

Zoghlami, Aymen 06 1900 (has links)
Nous proposons une approche probabiliste afin de déterminer l’impact des changements dans les programmes à objets. Cette approche sert à prédire, pour un changement donné dans une classe du système, l’ensemble des autres classes potentiellement affectées par ce changement. Cette prédiction est donnée sous la forme d’une probabilité qui dépend d’une part, des interactions entre les classes exprimées en termes de nombre d’invocations et d’autre part, des relations extraites à partir du code source. Ces relations sont extraites automatiquement par rétro-ingénierie. Pour la mise en oeuvre de notre approche, nous proposons une approche basée sur les réseaux bayésiens. Après une phase d’apprentissage, ces réseaux prédisent l’ensemble des classes affectées par un changement. L’approche probabiliste proposée est évaluée avec deux scénarios distincts mettant en oeuvre plusieurs types de changements effectués sur différents systèmes. Pour les systèmes qui possèdent des données historiques, l’apprentissage a été réalisé à partir des anciennes versions. Pour les systèmes dont on ne possède pas assez de données relatives aux changements de ses versions antécédentes, l’apprentissage a été réalisé à l’aide des données extraites d’autres systèmes. / We study the possibility of predicting the impact of changes in object-oriented code using bayesian networks. For each change type, we produce a bayesian network that determines the probability that a class is impacted given that another class is changed. Each network takes as input a set of possible relationships between classes. We train our networks using historical data. The proposed impact-prediction approach is evaluated with two different scenarios, various types of changes, and five systems. In the first scenario, we use as training data, the changes performed in the previous versions of the same system. In the second scenario training data is borrowed from systems that are different from the changed one. Our evaluation showed that, in both cases, we obtain very good predictions, even though they are better in the first scenario.
127

Détection de la retransmission sélective sur les réseaux de capteurs

Haddad, Edgard 04 1900 (has links)
L'attaque de retransmission sélective est une menace sérieuse dans les réseaux de capteurs sans fil (WSN), en particulier dans les systèmes de surveillance. Les noeuds peuvent supprimer de manière malicieuse certains paquets de données sensibles, ce qui risque de détruire la valeur des données assemblées dans le réseau et de diminuer la disponibilité des services des capteurs. Nous présentons un système de sécurité léger basé sur l'envoi de faux rapports pour identifier les attaques de retransmission sélective après avoir montré les inconvénients des systèmes existants. Le grand avantage de notre approche est que la station de base attend une séquence de faux paquets à un moment précis sans avoir communiqué avec les noeuds du réseau. Par conséquent, elle sera capable de détecter une perte de paquets. L'analyse théorique montre que le système proposé peut identifier ce type d'attaque et peut alors améliorer la robustesse du réseau dans des conditions d'un bon compromis entre la fiabilité de la sécurité et le coût de transmission. Notre système peut atteindre un taux de réussite élevé d‟identification face à un grand nombre de noeuds malicieux, tandis que le coût de transmission peut être contrôlé dans des limites raisonnables. / The selective forwarding attack is a serious threat in wireless sensor networks (WSN), especially in surveillance systems. Nodes can maliciously delete some sensitive data packets, which could destroy the value of the data assembled in the network and reduce its sensors availability. After describing the drawbacks of the existing systems in this thesis, we will present a lightweight security system based on sending fake reports used to identify selective forwarding attacks. The great advantage in our approach is that the base station expects a number of packets at a specific time. Therefore, it will be able to detect missing or delayed packets. Theoretical analysis shows that the proposed system can identify this type of attack, which will improve the robustness of the network under conditions of a good tradeoff between the security, reliability and communication overhead. Our system can achieve a high ratio of identification when facing a large number of malicious nodes, while the communication overhead can be controlled within reasonable bounds.
128

Vérification temporelle des systèmes cycliques et acycliques basée sur l’analyse des contraintes

Azzabi, Ahmed 08 1900 (has links)
Nous présentons une nouvelle approche pour formuler et calculer le temps de séparation des événements utilisé dans l’analyse et la vérification de différents systèmes cycliques et acycliques sous des contraintes linéaires-min-max avec des composants ayant des délais finis et infinis. Notre approche consiste à formuler le problème sous la forme d’un programme entier mixte, puis à utiliser le solveur Cplex pour avoir les temps de séparation entre les événements. Afin de démontrer l’utilité en pratique de notre approche, nous l’avons utilisée pour la vérification et l’analyse d’une puce asynchrone d’Intel de calcul d’équations différentielles. Comparée aux travaux précédents, notre approche est basée sur une formulation exacte et elle permet non seulement de calculer le maximum de séparation, mais aussi de trouver un ordonnancement cyclique et de calculer les temps de séparation correspondant aux différentes périodes possibles de cet ordonnancement. / We present a new approach for formulating and computing time separation of events used for timing analysis of different types of cyclic and acyclic systems that obey to linear-min-max type constraints with finite and infinite bounded component delays. Our approach consists of formulating the problem as a mixed integer program then using the solver Cplex to get time separations between events. In order to demonstrate the practical use of our approach we apply it for the verification and analysis of an Intel asynchronous differential equation solver chip. Compared to previous work, our approach is based on exact formulation and it allows not only the maximum separation computing, but it can also provide cyclic schedules and compute bound on possible periods of such schedules.
129

Système de listes de vérification interactives du niveau de conformité des maquettes avec les recommandations des fabricants de plateformes mobiles

Ghezzal, Nadir 08 1900 (has links)
La demande d'applications pour les plateformes mobiles a explosé ces dernières années. Chaque compagnie souhaite maintenant offrir pour ces nouveaux appareils les mêmes services que ceux offerts traditionnellement sur internet. Cependant, ces entreprises n'ont bien souvent que peu ou pas de connaissances concernant le développement et le déploiement de tels services. Généralement, la solution choisie consiste à externaliser ce travail en le sous-traitant à une autre compagnie. Dans ce contexte, il est souvent compliqué de s'assurer d'une part que le sous-traitant respecte le cahier des charges et d'autre part que le travail fourni est conforme aux recommandations émises par les fabricants des plateformes mobiles. Afin de pallier au second problème, nous avons créé un système de listes de vérification interactives pour plateformes mobiles. Ce système permet d'évaluer le niveau de conformité des différents composants de l'interface d'une application développée pour une plateforme mobile avec les recommandations du fabricant de cette plateforme. La solution retenue permet de se concentrer sur certains éléments particuliers de l'interface et pallie ainsi aux limites des listes de vérification classiques qui sont souvent trop longues et peu pratiques. La solution retenue offre de plus la possibilité de comparer facilement les caractéristiques des plateformes mobiles entre elles. Pour réaliser ce système, nous avons consulté de nombreux documents portant sur l'univers des plateformes mobiles afin de mieux appréhender leurs spécificités. Suite à l'étude de différentes plateformes, deux d’entre elles, soit iOS et BlackBerry, ont été retenues (il faut noter que la compagnie où s'est effectuée la recherche disposait déjà d'applications pour ces plateformes). Nous avons ensuite analysé plus finement la documentation technique fournie par chacun des fabricants afin d'en extraire les points importants. Afin que les données soient comparables, nous avons créé une nomenclature commune regroupant les composants de l'interface graphique en grandes familles (ex. : barres, saisie d'information, …) en tenant compte également du type d'interaction avec l'appareil (ex. : écran tactile). Nous avons ensuite conçu une solution permettant d'évaluer le niveau de conformité d'une application. L'idée retenue se base sur des listes de vérification permettant de systématiser le processus d'évaluation. Pour pallier aux limites de ces listes, souvent trop longues, nous permettons à l'utilisateur, via un ensemble de filtres, de se concentrer sur un sous-ensemble de composants de l’interface qu'il souhaite évaluer. L'implémentation de cette solution a été réalisée en totalité grâce à des technologies libres et de standard ouvert. De cette façon, nous nous sommes assurés de la portabilité de la solution développée et de l’absence de coûts supplémentaires liés à l'achat de licences. Le système utilise les standards web et repose sur une architecture basée sur le système d'exploitation GNU/Linux, le serveur web Apache, la base de données MySQL et le langage de scripts PHP. Ces logiciels ont déjà fait leurs preuves aussi bien pour les entreprises que pour les particuliers. De plus, la communauté très active qui s'est constituée autour de ces logiciels assure un bon support et une grande stabilité. Après avoir fait le choix de l’environnement de développement, la phase d'implémentation s'est ensuite déroulée en plusieurs étapes. Tout d'abord, l'information a été structurée selon la nomenclature mentionnée plus haut afin de créer le schéma de la base de données. Ensuite, toutes les pages ont été codées avec le langage à balises HTML et les scripts PHP pour le côté serveur et avec JavaScript pour le côté client. Enfin, l'information peut être affichée grâce aux feuilles de style en cascade (CSS), une technologie web permettant de séparer le fond de la forme en matière de mise en page. Nous avons choisi un modèle de développement itératif qui a impliqué les principaux utilisateurs dès les premières étapes de la conception du système. Cette implication s’est poursuivie jusqu’à la fin du projet afin de s'assurer que les fonctionnalités mises en place répondaient aux attentes. L’architecture modulaire qui a été retenue permet également d’adapter facilement le système aux besoins futurs. Afin de mieux comprendre comment on utilise le système, on passe en revue les différentes étapes nécessaires à la réalisation d'une évaluation. Enfin, on a réalisé une étude avec quatre utilisateurs pour évaluer l'utilisabilité du système et recueillir leur niveau de satisfaction. / The need for mobile platforms has increased in the last decade. Companies offering traditional internet services now want to move their applications on these new devices. But, most of the time, these companies do not really have the knowledge to create such applications and often ask a third party company to do the job for them. In this context, it is difficult to evaluate if the solution developed follows the recommendations of the device maker. A system based on interactive check lists has thus been created for this purpose. This system enables the evaluation of the conformity level of an application with the recommendations of the device maker, thanks to numerous filters that let the user focus on specific parts of the graphic interface. The idea behind the project was first to address some problematic issues with classical check lists and to enable the comparison of several mobile platforms with regard to specific interface components. To create this system, a lot of information about mobile platforms has first been collected. After reviewing many mobile platforms, it was decided to focus on iOS and BlackBerry, since the company where the research was performed had already applications running on them. For each platform, the major recommandations to be satisfied were identified. Also, to be sure that the extracted recommendations could be compared, a common nomenclature has been created, where the recommandations are grouped by interface components (ex: bars, data input,…) and by the type of interaction (ex: touch screen). After these preliminary steps, a solution for evaluating the level of compliance was created. We favored a check list approach because it offers a systematic evaluation process. To avoid lists of excessive length, filters were introduced in the system to allow the user to focus on particular aspects of the interface. The implementation was totally realized with open source technologies and open standards. This choice was motivated by the portability of the developed system and by the absence of licence fees. The system relies on web standards and runs on an architecture made of the CNU/Linux operating system, Apache web server, MySQL database and the script language PHP. This software has already proven its reliability for enterprises and for home users. Furthermore, the community evolving around this software offers a good support and ensures a high level of stability. After setting up the development environment, the implementation phase was engaged and took place over a number of phases. The first phase was the creation of the database structure, using the aforementioned nomenclature. The next phase was dedicated to the coding of the different web pages, thanks to the tag language HTML and the PHP scripts on the server side and JavaScript on the client side. Finally, the web page setting was developed using the cascading style sheet (CSS), a web technology that segregates the substance from the style of the web content. We chose an iterative development model where the end users were involved from the early stages of the project. This approach provides a guarantee that the user requirements are fulfilled and that any new developments will be in accordance with the expectations. Furthermore, the system is such that it can be easily modified to tackle future needs. To be able to understand how we use the systeme, we are reviewing the different steps needed to realise an evaluation. Finally, we have made a study with four users to evaluate the usability of the system and to gather their satisfaction level. / L'ensemble de mon travail a été réalisé grâce a l'utilisation de logiciel libre.
130

Génération efficace de graphes d’appels dynamiques complets

Ikhlef, 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.

Page generated in 0.116 seconds