Augmenting commit classification by using fine-grained source code changes and a pre-trained deep neural language model

How we refactor and how we document it? On the use of supervised machine learning algorithms to classify refactoring documentation

Refactoring is the art of improving the structural design of a software system without altering its external behavior. Today, refactoring has become a well established and disciplined software engineering practice that has attracted a significant …

Method-level bug localization using hybrid multi-objective search

Multi-criteria Web Services Selection: Balancing the Quality of Design and Quality of Service

On preserving the behavior in software refactoring: A systematic mapping study

Context: Refactoring is the art of modifying the design of a system without altering its behavior. The idea is to reorganize variables, classes and methods to facilitate their future adaptations and comprehension. As the concept of behavior …

On the classification of bug reports to improve bug localization

On the Impact of Aesthetic Defects on the Maintainability of Mobile Graphical User Interfaces: An Empirical Study

On the impact of Continuous Integration on refactoring practice: An exploratory study on TravisTorrent

Context: The ultimate goal of Continuous Integration (CI) is to support developers in integrating changes into production constantly and quickly through automated build process. While CI provides developers with prompt feedback on several quality …

On the use of textual feature extraction techniques to support the automated detection of refactoring documentation

Refactoring is the art of improving the internal structure of a program without altering its external behavior, and it is an important task when it comes to software maintainability. While existing studies have focused on the detection of refactoring …

Recommending pull request reviewers based on code changes