Identifying Defect-Inducing Changes in Visual Code

Kalvin Eng and Abram Hindle and Alexander Senchenko

2023/08/10

Identifying Defect-Inducing Changes in Visual Code

Authors

Kalvin Eng and Abram Hindle and Alexander Senchenko

Venue

Abstract

Defects, or bugs, often form during software development. Identifying the root cause of defects is essential to improve code quality, evaluate testing methods, and support defect prediction. Examples of defect-inducing changes can be found using the SZZ algorithm to trace the textual history of defect-fixing changes back to the defect-inducing changes that they fix in line-based code. The line-based approach of the SZZ method is ineffective for visual code that represents source code graphically rather than textually. In this paper we adapt SZZ for visual code and present the SZZ Visual Code (SZZ-VC) algorithm, that finds changes in visual code based on the differences of graphical elements rather than differences of lines to detect defect-inducing changes. We validated the algorithm for an industry-made AAA video game and 20 music visual programming defects across 12 open source projects. Our results show that SZZ-VC is feasible for detecting defects in visual code for 3 different visual programming languages.

Bibtex

@inproceedings{eng2023ICSME-SZZ-visual-code,
 abstract = {Defects, or bugs, often form during software development. Identifying the root cause of defects is essential to improve code quality, evaluate testing methods, and support defect prediction. Examples of defect-inducing changes can be found using the SZZ algorithm to trace the textual history of defect-fixing changes back to the defect-inducing changes that they fix in line-based code. The line-based approach of the SZZ method is ineffective for visual code that represents source code graphically rather than textually. In this paper we adapt SZZ for visual code and present the SZZ Visual Code (SZZ-VC) algorithm, that finds changes in visual code based on the differences of graphical elements rather than differences of lines to detect defect-inducing changes. We validated the algorithm for an industry-made AAA video game and 20 music visual programming defects across 12 open source projects. Our results show that SZZ-VC is feasible for detecting defects in visual code for 3 different visual programming languages.},
 accepted = {2023-08-10},
 author = {Kalvin Eng and Abram Hindle and Alexander Senchenko},
 authors = {Kalvin Eng and Abram Hindle and Alexander Senchenko},
 booktitle = {2023 IEEE International Conference on Software Maintenance and Evolution (ICSME) Industry Track},
 code = {eng2023ICSME-SZZ-visual-code},
 date = {2023-10-01},
 doi = {10.1109/ICSME58846.2023.00061},
 funding = {NSERC Discovery},
 location = {Bogotá, Colombia},
 pagerange = {474-484},
 pages = {474-484},
 payurl = {https://doi.ieeecomputersociety.org/10.1109/ICSME58846.2023.00061},
 rate = {},
 role = {Co-Author},
 title = {Identifying Defect-Inducing Changes in Visual Code},
 type = {inproceedings},
 url = {http://softwareprocess.ca/pubs/eng2023ICSME-SZZ-visual-code.pdf},
 venue = {2023 IEEE International Conference on Software Maintenance and Evolution (ICSME) Industry Track},
 year = {2023}
}