Identifying Defect-Inducing Changes in Visual Code

09/07/2023
by   Kalvin Eng, et al.
0

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.

READ FULL TEXT
research
09/07/2023

Predicting Defective Visual Code Changes in a Multi-Language AAA Video Game Project

Video game development increasingly relies on using visual programming l...
research
09/09/2019

A Systematic Review on Learning and Suggesting Source Code Changes in Version History

Software systems are in continuous evolution through source code changes...
research
03/05/2021

Does chronology matter in JIT defect prediction? A Partial Replication Study

Just-In-Time (JIT) models detect the fix-inducing changes (or defect-ind...
research
12/07/2022

Utilizing Source Code Syntax Patterns to Detect Bug Inducing Commits using Machine Learning Models

Detecting Bug Inducing Commit (BIC) or Just in Time (JIT) defect predict...
research
07/20/2020

Visual Testing of GUIs by Abstraction

Ensuring the correct visual appearance of graphical user interfaces (GUI...
research
01/04/2020

Vis-a-Vis: Visual Exploration of Visualization Source Code Evolution

Developing an algorithm for a visualization prototype often involves the...
research
02/15/2021

Investigating and Recommending Co-Changed Entities for JavaScript Programs

JavaScript (JS) is one of the most popular programming languages due to ...

Please sign up or login with your details

Forgot password? Click here to reset