• Refine Query
  • Source
  • Publication year
  • to
  • Language
  • 7
  • 2
  • Tagged with
  • 13
  • 4
  • 4
  • 3
  • 3
  • 2
  • 2
  • 2
  • 1
  • 1
  • 1
  • 1
  • 1
  • 1
  • 1
  • 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.
11

Extraction and analysis of knowledge for automatic software repair / Extraction et analyse de connaissance pour la réparation automatique de bugs

Martinez, Matias 10 October 2014 (has links)
La correction d'un bogue est une activité fréquente fait dans le cycle de vie du logiciel. L'activité vise à éliminer l'écart entre le comportement attendu d'un programme et ce qu'il fait réellement. Dans les dernières années, plusieurs approches automatiques de réparation de logiciels ont vu le jour pour synthétiser automatiquement des corrections de bugs. Malheureusement, la correction de bugs pourrait être encore difficile et coûteux pour les approches automatiques programme de réparation. Par exemple, pour réparer un bogue, une approche pourrait passer un temps infini à trouver une solution auprès d'un grand nombre de candidats. Dans cette thèse, nous visons à améliorer la réparabilité de bogues: augmenter le nombre de bogues réparés par des approches de réparation. Nous visons à ajouter réparation approches des stratégies pour optimiser la recherche de solutions. Nous présentons une stratégie qui consomme informations extraites de réparations effectuées par les développeurs. Ensuite, nous nous concentrons sur l'évaluation des méthodes de réparation automatique. Nous visons à introduire des procédures pour avoir significative évaluations d'approches.Nous définissons d'abord une méthode pour définir des jeux de données de défauts qui réduisent au minimum la possibilité de résultats biaisés. La manière dont un jeu de données est construite impacts sur le résultat d'une évaluation de l'approche. Nous présentons un jeu de données qui comprend un type particulier de défaut: les défauts instructions conditionnelles. Ensuite, nous cherchons à mesurer la réparabilité de ce type de défaut en évaluant trois approches de réparation automatique du logiciel. / Bug fixing is a frequent activity done in the software life cycle. The activity aims at removing the gap between the expected behavior of a program and what it actually does. In the recent years, several automatic software repair approaches have emerged to automatically synthesize bug fixes. Unfortunately, bug fixing could be even hard and expensive for automatic program repair approaches. For example, to repair a given bug, a repair technique could spend infinite time to find a fix among a large number of candidate fixes. In this thesis, we aim at improving repairability of bugs. That is, to increase the number of bugs repaired by repair approaches. First, we concentrate on the study of repair search spaces i.e., all possible solutions for the fix. We aim at adding repair approaches strategies to optimize the search of solutions in the repair search space. We present a strategy to reduce the time to find a fix. The strategy consumes information extracted from repairs done by developers. Then, we focus on the evaluation of automatic repair approaches. We aim at introducing methodologies and evaluation procedures to have meaningful repair approach evaluations.We first define a methodology to define defect datasets that minimize the possibility of biased results. The way a dataset is built impacts on the result of an approach evaluation. We present a dataset that includes a particular kind of defect: if conditional defects. Then, we aim at measuring the repairability of this kind of defect by evaluating three state-of-the-art automatic software repair approaches.
12

Assessing and improving rules to support software evolution / Évaluation et amélioration des règles pour aider l'évolution des logiciels

Cavalcante Hora, André 04 November 2014 (has links)
Les systèmes logiciels évoluent pour ajouter de nouvelles fonctionnalités, corriger des bugs ou refactoriser du code source. Durant ce processus, certains problèmes peuvent survenir provoquant l'inconsistance ou l'échec des systèmes en évolution et avec leurs clients, ce qui aboutit finalement à une baisse de la qualité du code. Pour faire face à ces problèmes, il est possible d'utiliser des règles. Ces règles peuvent être créées par des experts ou extraites de précédentes versions du code source. Nous soutenons que les approches existantes : (i) n'analysent pas précisément les avantages des règles créées par des experts; (ii) gagneraient à mieux utiliser les dépôt de codes sources pour extraire des règles basées sur l'historique, et (iii) devraient analyser à grande échelle et sur des cas réels l'impact de l'évolution du code source sur les clients. Dans cette thèse, nous proposons d'analyser et d'améliorer les règles pour aider les développeurs à mieux suivre l'évolution du code source. Pour cela, nous étudions trois aspects différents :- Les avantages prévus par les règles créées par des experts : nous analysons précisément ces règles pour comprendre si elles valent la peine d'être adoptées malgré le coût pour les produire.- L'amélioration des règles basées sur l'historique : nous proposons deux solutions pour extraire de meilleures règles à partir du dépôt de codes sources.- L'impact de l'évolution du code source sur un écosystème logiciel : nous étudions les conséquences de l'évolution de code source sur des systèmes clients dans le contexte d'un écosystème de grande échelle.Les résultats que nous avons obtenus démontrent l'utilité de nos approches. / Software systems evolve by adding new features, fixing bugs or refactoring existing source code. During this process, some problems may occur causing evolving systems and their clients to be inconsistent or to fail, decreasing code quality. One solution to deal with such maintainability problems is the usage of rules to ensure consistency. These rules may be created by experts or extracted from source code repositories, which are commonly evaluated in small-scale case studies. We argue that existing approaches lack of: (i) a deep understanding of the benefits provided by expert-based rules, (ii) a better use of source code repositories to extract history-based rules, and (iii) a large-scale analysis of the impact of source code evolution on the actual clients.In this thesis we propose to analyze and improve rules to better support developers keeping track of source code evolution. We cover three aspects: - The benefits provided by expert-based rules: we report on an investigation of rules created based on expert opinion to understand whether they are worthwhile to be adopted given the cost to produce them.- The improvement of history-based rules: we propose two solutions to extract better rules from source code history.- The impact of source code evolution on a software ecosystem: we undergo an investigation, in a large-scale ecosystem, on the awareness of the client systems about source code evolution. We evaluated the proposed approaches qualitatively and quantitatively. The results we obtained demonstrate the usefulness of our approaches.
13

Towards improving the quality of mobile app by leveraging crowdsourced feedback / Vers l'amélioration de la qualité des applications mobiles en utilisant des données collectées sur les utilisateurs

Gomez Lacruz, Maria 02 December 2016 (has links)
La popularité des smartphones engendre un nombre croissant d’applications mobiles qui sont publiées dans des magasins officiels d’applications. En fait, des études antérieures ont démontré que les utilisateurs d'applications sont intolérants à des problèmes de qualité (e.g., des arrêts inopinés). Les utilisateurs qui rencontrent des problèmes désinstallent fréquemment les applications et se dirigent vers des applications concurrentes. Par conséquent, détecter et prévenir rapidement des problèmes dans les applications est crucial pour rester compétitif sur le marché. Même si les développeurs testent les applications avant le déploiement, de nombreux bugs peuvent encore apparaitre dans la nature. Le grand défi qui demeure est que l'environnement reste hors du contrôle des développeurs d'applications. Plus précisément, l'écosystème mobile est confronté à une rapide évolution des plate-formes mobile, une forte fragmentation des équipements, et une grande diversité des contextes d'exécution. Cette thèse présente donc une nouvelle génération de magasins d’applications mobiles qui exploite des données collectées sur les applications, les appareils et les utilisateurs afin d'augmenter la qualité globale des applications mobiles publiées en ligne. Cette nouvelle génération de magasins d'applications peut exploiter l’intelligence collective pour obtenir des feedbacks pratiques à partir de les données retournées par les utilisateurs. Ces feedbacks concrets aident les développeurs d'applications à traiter les erreurs et les menaces potentielles qui affectent leurs applications avant la publication ou même lorsque les applications sont dans les mains des utilisateurs finaux. / The popularity of smartphones is leading to an ever growing number of mobile apps that are published in official app stores. In fact, previous studies have demonstrated that app users are intolerant to quality issues (e.g., crashes). Users who encounter issues frequently uninstall apps and move to alternative apps. Hence, quickly detecting and preventing issues is crucial for staying competitive in the market. Although developers use emulators and test apps before deployment, many bugs emerge in the wild. Developing apps which run without errors along time remains a primary concern for app developers. The big challenge is that the environment is out of the app developers’ control. More specifically, the mobile ecosystem faces rapid platform evolution, high device fragmentation, and high diversity of execution contexts. This thesis introduces a new generation of app stores which exploit crowdsourced information about apps, devices and users to increase the overall quality of the delivered mobile apps. We claim that app stores can exploit the wisdom of the crowd to distill actionable insights from the feedback returned by the crowds. These actionable insights assist app developers to deal with potential errors and threats that affect their apps prior to publication or even when the apps are in the hands of end-users.

Page generated in 0.0188 seconds