Learn More
Software engineering strives to enable the economic construction of software systems that behave reliably, predictably, and safely. In other engineering disciplines, safety is assured in part by detailed monitoring of processes. In software, we may achieve some level of conndence in the operation of programs by monitoring their execution. DynaMICs is a(More)
Although formal verification techniques have been demonstrated to improve program dependability, software practitioners have not widely adopted them. One reason often cited is the difficulty in writing formal specifications. This paper introduces Prospec, a tool to assist practitioners in formally specifying software properties. Prospec uses property(More)
The paper presents an approach to support run-time verification of software systems that combines two existing tools, Prospec and Java-MaC, into a single framework. Prospec can be used to clarify natural language specifications for sequential, concurrent, and nondeterministic behavior. In addition, the tool assists the user in reading, writing, and(More)
Specification state properties monitored variables state of interest results of analysis response Log event data artifact process data flow Abstract Runtime monitoring is aimed at ensuring correct runtime behavior with respect to specified constraints. It provides assurance that properties are maintained during a given program execution. The Dynamic(More)
Formal specification and analysis of software properties can be useful in reducing the number of errors in production software. More intuitive methods of specifying constraints and system properties are needed so that developers and other stakeholders can participate in validation of formal software requirements. This work introduces composite propositions,(More)