TraceContract is an API (Application Programming Interface) for trace analysis. A trace is a sequence of events, and can, for example, be generated by a running program, instrumented appropriately to generate events. An event can be any data object. An example of a trace is a log file containing events that a programmer has found important to record during a program execution. Trace-Contract takes as input such a trace together with a specification formulated using the API and reports on any violations of the specification, potentially calling code (reactions) to be executed when violations are detected.

The software is developed as an internal DSL (Domain Specific Language) in the Scala programming language. Scala is a relatively new programming language that is specifically convenient for defining such internal DSLs due to a number of language characteristics. This includes Scala’s elegant combination of object-oriented and functional programming, a succinct notation, and an advanced type system. The DSL offers a combination of dataparameterized state machines and temporal logic, which is novel. As an extension of Scala, it is a very expressive and convenient log file analysis framework.

This work was done by Klaus Havelund of Caltech and Howard Barringer of University of Manchester, UK, for NASA’s Jet Propulsion Laboratory. For more information, contact This email address is being protected from spambots. You need JavaScript enabled to view it. .

This software is available for commercial licensing. Please contact Daniel Broderick of the California Institute of Technology at This email address is being protected from spambots. You need JavaScript enabled to view it. . NPO-48071

White Papers

3D Printing with FDM: How it Works
Sponsored by Stratasys
FPGA Computing for Speed and Flexibility
Sponsored by Acromag
How to Choose the Right Sensor for Your Measurement System
Sponsored by National Instruments
Is There an Easy Way to Cut the Cost of EWIS Compliance?
Sponsored by Mentor Graphics
Unique Method for Orifice Production
Sponsored by Bird Precision
Changing Face of Robotics
Sponsored by Maplesoft

White Papers Sponsored By: