Publication Type
Conference Proceeding Article
Version
acceptedVersion
Publication Date
11-2020
Abstract
In software development and maintenance, defect localization is necessary for software quality assurance. Current defect localization techniques mainly rely on defect symptoms (e.g., bug reports or program spectrum) when the defect has been exposed. One challenge task is: can we locate buggy program prior to the appearance of the defect symptom. Such kind of localization is conducted at an early stage (e.g., when buggy program elements are being checkedin) which can be an early step of continuous quality control.In this paper, we propose a Just-In-Time defect identification and lOcalization tool, named JITO, which can help developers to locate defective lines at check-in time. In summary, JITO contains two phases: (i) identify if a new change is buggy and (ii) locate suspicious buggy code lines in the identified buggy changes. Weimplement JITO as a plugin in an integrated development environment (i.e., Intellij IDEA). When developers using our plugin, JITO loads the local Git repository to build the JIT defect identification model and localization model based on historical changes. After submitting a new change to the local repository, developers apply JITO to identify whether it is a buggy change. If a buggy change is identified, JITO leverages JIT defect localization model to locate its suspicious buggy lines and highlight them in Intellij IDEA. Experimental results show that JITO outperforms two baselines (i.e., random guess and a static bug finder (i.e., PMD)) by a substantial margin in terms of four ranking measures.
Keywords
Defect localization, Just-in-time, Defect identification, Software naturalness
Discipline
Software Engineering
Research Areas
Software and Cyber-Physical Systems
Publication
ESEC/FSE '20: Proceedings of the 28th ACM Joint European Software Engineering Conference and Symposium on the Foundations of Software Engineering: Virtual, November 8-13
First Page
1586
Last Page
1590
ISBN
9781450370431
Identifier
10.1145/3368089.3417927
Publisher
ACM
City or Country
New York
Citation
QIU, Fangcheng; YAN, Meng; XIA, Xin; WANG, Xinyu; FAN, Yuanrui; HASSAN, Ahmed E.; and LO, David.
JITO: A tool for just-in-time defect identification and localization. (2020). ESEC/FSE '20: Proceedings of the 28th ACM Joint European Software Engineering Conference and Symposium on the Foundations of Software Engineering: Virtual, November 8-13. 1586-1590.
Available at: https://ink.library.smu.edu.sg/sis_research/5537
Copyright Owner and License
Authors
Creative Commons License
This work is licensed under a Creative Commons Attribution-NonCommercial-No Derivative Works 4.0 International License.
Additional URL
https://doi.org/10.1145/3368089.3417927