Identifying Defect-Inducing Changes in Visual Code
Authors
Kalvin Eng and Abram Hindle and Alexander Senchenko
Venue
- 2023 IEEE International Conference on Software Maintenance and Evolution (ICSME) Industry Track
- Bogotá, Colombia
- 2023
- 474-484
- Publisher Link
- DOI:10.1109/ICSME58846.2023.00061
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}
}