Oscar Mondragon

Learn 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)
Prospec is a tool that assists practitioners in the elicitation and specification of system properties. Practitioners are guided by questions, definitions, and graphics. Prospec introduces the use of composite propositions to identify intended behavior when multiple conditions or events are considered. Multiple conditions or events may represent behavior(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)
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)
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 Monitoring with Integrity Constraints (DynaMICs) approach is a runtime monitoring system under development at the University of Texas at El Paso. The focus(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)