Large Scale Code History Analysis for Improving - Rennes, France - IRISA
il y a 2 semaines
Description
Large scale code history analysis for improving software stability:
- Réf
ABG-122828 - Sujet de Thèse 12/04/2024
- Contrat doctoral
- IRISA
- Lieu de travail
- Rennes
- Bretagne
- France
- Intitulé du sujet
- Large scale code history analysis for improving software stability
- Champs scientifiques
- Informatique
Description du sujet:
Context
Detecting and fixing bugs that threaten the stability of software systems is crucial to the industry.
For example, recent research work studied patches that fixed security issues in Java code to understand how to prevent them in future development [1].
The literature is also vast on studying code histories to:understand how and why issues appear [2,3,4]; how to leverage such histories to alarm on possible issues to come [5].
However, it is crucial to also be able to study the software issues while scaling on large evolution histories.Indeed, large software systems do evolve with high frequencies with several commits (i.e., changes) per day or even per hour.
Over years of evolution, a given history can reach hundreds of thousands of commits. Hence, posing scalability challenges for any analysis on the whole histories of software systems.
In our recent work we proposed HyperAST [6], a novel approach to capture, incrementally in an optimized way, in a single AST (Abstract Syntax Tree) the numerous ASTs a code history like Git contains in a raw format (i.e.
In terms of features, HyperAST provides its users with an API at the expected level of abstraction for working on different versions of code.
The work on HyperAST work received an ACM SIGSOFT Distinguished Paper Award at the ASE 2022 conference (A* core-ranked).Objectives
Thanks to its ability to scale and its features, HyperAST opens new research perspectives in terms of temporal code analysis.
The goals are multiple:
better understanding the coding processes that lead to those bugs;
detecting issues that threaten the stability of software systems;
supporting polyglot code histories (i.e. histories that contain code from several languages) in the aforementioned analyses. To do that, one must have a polyglot reference resolution to run polyglot impact analyses.
Environment
Application conditions
Application
A detailed CV
A cover letter
References
[1] Iannone, E., Guadagni, R., Ferrucci, F., De Lucia, A.
, & Palomba, F The secret life of software vulnerabilities:
A large-scale empirical study. IEEE Transactions on Software Engineering, 49(1), 44-63.
[2] Lopes, M.
, & Hora, A How and why we end up with complex methods:
a multi-language study. Empirical Software Engineering, 27(5), 115.
[3] Hora, A., Robbes, R., Valente, M. T., Anquetil, N., Etien, A., & Ducasse, S How do developers react to API evolution? A large-scale empirical study. Software Quality Journal, 26,
[4] Tufano, M., Palomba, F., Bavota, G., Oliveto, R., Di Penta, M., De Lucia, A., & Poshyvanyk, D When and why your code starts to smell bad (and whether the smells go away). IEEE Transactions on Software Engineering, 43(11),
[5] Radjenović, D., Heričko, M., Torkar, R.
, & Živkovič, A Software fault prediction metrics:
A systematic literature review. Information and software technology, 55(8),
[6] Le Dilavrec, Q., Khelladi, D. E., Blouin, A., & Jézéquel, J.
M HyperAST:
Enabling Efficient Analysis of Software Histories at Scale. In 37th IEEE/ACM International Conference on Automated Software Engineering
Nature du financement:
- Contrat doctoral
Précisions sur le financement:
Présentation établissement et labo d'accueil:
- IRISA
Plus d'emplois de IRISA
-
Phd Thesis: Programmable Wireless Radio for
Lannion, France - il y a 2 semaines
-
Web Front-end Testing: Large Scale Analysis and
Rennes, France - il y a 2 semaines
-
Model-based DevOps: From Theory to Practice
Rennes, France - il y a 2 semaines