Development of a toolkit for analyzing software debugging processes using the constructive approach
Viktor Shynkarenko, Oleksandr Zhevaho
Abstract
Open-access reader
Viktor Shynkarenko, Oleksandr Zhevaho
Abstract
Open-access reader
Constructive-synthesizing modeling and the Process Mining methods in a toolkit to monitor and analyze the software debugging process were applied. Methods for monitoring the development and debugging processes are the basis for improving the level of practical training of students, reducing the time that is used irrationally in the process of software development by a student, and in monitoring the processes of performance of tasks by a teacher. The process of software debugging is seen as a sequence of actions when dealing with relevant tools. Using the methodology of constructive-synthesizing modeling, a constructor for forming a debugging actions log was developed. Based on the constructive model, the extension to the integrated development environment (IDE) Microsoft Visual Studio, in which all debugging actions are recorded in an event log, was designed. During debugging in the IDE, event logs are collected and then a conformance checking of these logs with regard to the reference model is performed. To do this, the ProM (Eindhoven Technical University, Netherlands), a platform for Process Mining methods, is used. By checking compliance, it is possible to compare different debugging processes and recognize behavioral similarities and differences. The main purpose of the developed toolkit is to collect debugging actions from the developer’s IDE. By better understanding how students grasp and deal with errors, one can help novices learn to program. Knowing how programmers debug can encourage researchers to develop more practically directed methods, enable teachers to improve their debugging curricula and allow tool developers to adapt the debugger to the actual needs of users. It is practically suggested to use the prepared tools in the software engineering course
OpenAlex reports 14 citations for this work. Citation counts describe recorded attention and do not establish research quality.
A contribution statement is not available in the OpenAlex record.
Method details are not available in the OpenAlex metadata.
Findings are not separately available in the OpenAlex metadata.
Limitations are not available in the OpenAlex metadata.
Application details are not available in the OpenAlex metadata.
Constructive-synthesizing modeling and the Process Mining methods in a toolkit to monitor and analyze the software debugging process were applied. Methods for monitoring the development and debugging processes are the basis for improving the level of practical training of students, reducing the time that is used irrationally in the process of software development by a student, and in monitoring the processes of performance of tasks by a teacher. The process of software debugging is seen as a sequence of actions when dealing with relevant tools. Using the methodology of constructive-synthesizing modeling, a constructor for forming a debugging actions log was developed. Based on the constructive model, the extension to the integrated development environment (IDE) Microsoft Visual Studio, in which all debugging actions are recorded in an event log, was designed. During debugging in the IDE, event logs are collected and then a conformance checking of these logs with regard to the reference model is performed. To do this, the ProM (Eindhoven Technical University, Netherlands), a platform for Process Mining methods, is used. By checking compliance, it is possible to compare different debugging processes and recognize behavioral similarities and differences. The main purpose of the developed toolkit is to collect debugging actions from the developer’s IDE. By better understanding how students grasp and deal with errors, one can help novices learn to program. Knowing how programmers debug can encourage researchers to develop more practically directed methods, enable teachers to improve their debugging curricula and allow tool developers to adapt the debugger to the actual needs of users. It is practically suggested to use the prepared tools in the software engineering course
Key concepts: Debugging, Computer science, Algorithmic program debugging, Debugger, Software engineering, Programming language, Process (computing), Event (particle physics)