Trace Server : A Tool for Storing, Querying and Analyzing Execution Traces
Igor Andjelković, Cyrille Valentin Artho · 2011
Abstract—Various techniques for software verification are in use today, including testing and software model checking. Each of them has certain limitations, imposed by limited memory and computation time. This limits the types of properties that can be analyzed during one execution on a given computer. By carrying out additional analysis of program traces outside the execution of the program, one can extend the scope of the analysis. This paper presents the Trace Server, a solution for collecting, storing, querying and processing data describing program execution traces. The work is implemented as an extension of the Java PathFinder model checking tool. The collected data can be saved in a database for further processing, or be processed during the operation of the system. Data can also be sent to a remote server. The tool defines the interface for creating data analyzers and includes examples of its use, providing a deadlock analyzer and an analyzer of executed methods. A developer using our tool can create new reports or supplement existing data. Index Terms—Software verification; software execution traces; trace analysis. I.