Automated Software Testing and Debugging with Event-Based Program Behavior Models

From Simple Sci Wiki
Jump to navigation Jump to search

Title: Automated Software Testing and Debugging with Event-Based Program Behavior Models

Abstract: This research investigated the development of automated software testing and debugging tools based on precise program behavior models. The study proposed an approach using event-based program behavior models, which represent the temporal relationship between actions in a program. The research developed a language for computations over event traces, enabling assertion checking, debugging queries, execution profiles, and performance measurements. The approach was nondestructive, as assertions were separated from the target program source code and could be maintained independently. An event grammar provided a sound basis for assertion language implementation via target program automatic instrumentation. The research presented an implementation architecture and preliminary experiments with a prototype assertion checker for the C programming language.

Main Research Question: How can we develop automated software testing and debugging tools using event-based program behavior models?

Methodology: The research followed these steps:

1. Defining event-based program behavior models: The study began by defining event-based program behavior models, which represent the temporal relationship between actions in a program. Events were used as the basic unit of action, and two basic relations were introduced: partial ordering and inclusion.

2. Developing a language for computations over event traces: The research developed a language called FORMAN, which is based on a functional paradigm and uses event patterns and aggregate operations over events. This language was designed for computations over the event trace.

3. Implementing an assertion checker: The study implemented a prototype assertion checker for a subset of the PASCAL programming language, which was based on the FORMAN language.

Results: The research resulted in the following findings:

1. Event-based program behavior models provided a precise and efficient way to represent program behavior. 2. The language for computations over event traces, FORMAN, was successfully implemented and proved to be versatile and flexible. 3. The prototype assertion checker was able to effectively check assertions, perform debugging queries, generate execution profiles, and measure performance.

Implications: The research has several implications for the field of software testing and debugging:

1. The event-based program behavior models provide a new and efficient approach to representing program behavior, which can lead to more accurate and automated testing and debugging tools. 2. The language for computations over event traces, FORMAN, can serve as a foundation for the development of new and improved software testing and debugging tools. 3. The prototype assertion checker demonstrates the potential of event-based program behavior models for automating software testing and debugging processes.

In conclusion, this research has made significant contributions to the field of software testing and debugging by proposing a new approach based on event-based program behavior models and a language for computations over event traces. The research has shown that these approaches can lead to more efficient and accurate tools for automating software testing and debugging processes.

Link to Article: https://arxiv.org/abs/0101007v1 Authors: arXiv ID: 0101007v1