TRACECONTRACT: a scala DSL for trace analysis

  • Authors:
  • Howard Barringer;Klaus Havelund

  • Affiliations:
  • School of Computer Science, University of Manchester, UK;Jet Propulsion Laboratory, California Institute of Technology

  • Venue:
  • FM'11 Proceedings of the 17th international conference on Formal methods
  • Year:
  • 2011

Quantified Score

Hi-index 0.02

Visualization

Abstract

In this paper we describe TRACECONTRACT, an API for trace analysis, implemented in the SCALA programming language. We argue that for certain forms of trace analysis the best weapon is a high level programming language augmented with constructs for temporal reasoning. A trace is a sequence of events, which may for example be generated by a running program, instrumented appropriately to generate events. The API supports writing properties in a notation that combines an advanced form of data parameterized state machines with temporal logic. The implementation utilizes SCALA's support for defining internal Domain Specific Languages (DSLs). Furthermore SCALA's combination of object oriented and functional programming features, including partial functions and pattern matching, makes it an ideal host language for such an API.