Skip to yearly menu bar Skip to main content


Poster
in
Affinity Workshop: WiML Workshop 1

Commit-Checker: A human-centric approach for adopting bug inducing commit detection using machine learning models

Naz Zarreen Oishie


Abstract:

When developing new software, testing can take up to half of their sources. Although much work has been done to automate different parts of testing, fixing a bug after it is discovered is still a costly task that developers need to do. Recently, the research community has proposed different methodologies in order to detect Just-in-Time(JIT) bugs at the commit level. But all this work including the state-of-the-art technique of Kamei et al. does not provide a real-time solution for the problem. In our study, we focused on finding usability patterns that can give real-time support to the developers so that they can be warned that their commit may have a chance of being bug-inducing before they perform the commit operation. Keeping that in mind, we built a VSCode IDE plug-in that warns the developer when they try to perform a commit operation. Additionally, we build an executable tool for developers who prefer to use a command-line interface. For the machine learning model to detect a bug-inducing commit, we followed the work of Kamei et al.and applied Random Forest, Decision Tree and Logistic Regression as the Machine Learning algorithm. According to Catal-ino et al., we first filter out the most essential metrics based on their information gain and build the model with an 80% accuracy score and 58% f-1 score, which Logistic Regression achieved. Our developed plug-in and command-line tool provide great support for developers to detect bug-inducing commits. After building the VSCode plug-in, we provided a configuration option along with the plug-in that developers can use for customization. The developers can select their preferred features and algorithms in order to train their own models, compare their accuracy and use their own customized models in the plug-in. This option also worksfor JetBrains plug-ins like PyCharm and WebStorm. Finally, we performed a user study with developers working in the software industry to validate the usage of our tools.

Chat is not available.