Commits Analysis for Software Refactoring Documentation and Recommendation
dc.contributor.author | Rebai, Soumaya | |
dc.contributor.advisor | Kessentini, Marouane | |
dc.date.accessioned | 2021-09-15T13:51:32Z | |
dc.date.issued | 2021-12-17 | |
dc.date.submitted | 2021-08-23 | |
dc.identifier.uri | https://hdl.handle.net/2027.42/169486 | |
dc.description.abstract | Software projects frequently evolve to meet new requirements and/or to fix bugs. While this evolution is critical, it may have a negative impact on the quality of the system. To improve the quality of software systems, the first step is “detection" of code antipatterns to be restructured which can be considered as “refactoring opportunities". The second step is the “prioritization" of code fragments to be refactored/fixed. The third step is “recommendation" of refactorings to fix the detected quality issues. The fourth step is “testing" the recommended refactorings to evaluate their correctness. The fifth step is the “documentation" of the applied refactorings. In this thesis, we addressed the above five steps: 1. We designed a bi-level multi-objective optimization approach to enable the generation of antipattern examples that can improve the efficiency of detection rules for bad quality designs. 2. Regarding refactoring recommendations, we first identify refactoring opportunities by analyzing developer commit messages and quality of changed files, then we distill this knowledge into usable context driven refactoring recommendations to complement static and dynamic analysis of code. 3. We proposed an interactive refactoring recommendation approach that enables developers to pinpoint their preferences simultaneously in the objective (quality metrics) and decision (code location) spaces. 4. We proposed a semi-automated refactoring documentation bot that helps developers to interactively check and validate the documentation of the refactorings and/or quality improvements at the file level for each opened pull-request before being reviewed or merged to the master 5. We performed interviews with and a survey of practitioners as well as a quantitative analysis of 1,193 commit messages containing refactorings to establish a refactoring documentation model as a set of components. 6. We formulated the recommendation of code reviewers as a multi-objective search problem to balance the conflicting objectives of expertise, availability, and history of collaborations. 7. We built a dataset composed of 50,000+ composite code changes pertaining to more than 7,000 open-source projects. Then, we proposed and evaluated a new deep learning technique to generate commit messages for composite code changes based on an attentional encoder-decoder with two encoders and BERT embeddings. | en_US |
dc.language.iso | en_US | en_US |
dc.subject | Commit message analysis | en_US |
dc.subject | Refactoring documentation | en_US |
dc.subject | Refactoring | en_US |
dc.subject | Optimization | en_US |
dc.subject | Detection | en_US |
dc.subject | Refactoring recommendation | en_US |
dc.subject | Code review | en_US |
dc.subject.other | Computer and Information Science | en_US |
dc.title | Commits Analysis for Software Refactoring Documentation and Recommendation | en_US |
dc.type | Thesis | en_US |
dc.description.thesisdegreename | PhD | en_US |
dc.description.thesisdegreediscipline | College of Engineering & Computer Science | en_US |
dc.description.thesisdegreegrantor | University of Michigan-Dearborn | en_US |
dc.contributor.committeemember | Maxim, Bruce | |
dc.contributor.committeemember | Mohammadi, Alireza | |
dc.contributor.committeemember | Song, Zheng | |
dc.identifier.uniqname | 45217486 | en_US |
dc.description.bitstreamurl | http://deepblue.lib.umich.edu/bitstream/2027.42/169486/1/Soumaya Rebai final dissertation.pdf | |
dc.identifier.doi | https://dx.doi.org/10.7302/2532 | |
dc.identifier.orcid | 0000-0002-9530-8280 | en_US |
dc.description.filedescription | Description of Soumaya Rebai final dissertation.pdf : Dissertation | |
dc.identifier.name-orcid | Rebai, Soumaya ; 0000-0002-9530-8280 | en_US |
dc.working.doi | 10.7302/2532 | en_US |
dc.owningcollname | Dissertations and Theses (Ph.D. and Master's) |
Files in this item
Remediation of Harmful Language
The University of Michigan Library aims to describe library materials in a way that respects the people and communities who create, use, and are represented in our collections. Report harmful or offensive language in catalog records, finding aids, or elsewhere in our collections anonymously through our metadata feedback form. More information at Remediation of Harmful Language.
Accessibility
If you are unable to use this file in its current format, please select the Contact Us link and we can modify it to make it more accessible to you.