DynaMICs: An Automated and Independent Software-Fault Detection Approach
Computers are omnipresent in our society, creating a reliance that demands high-assurance systems. Traditional verification and validation approaches may not be sufficient to identify the existence of software faults. Dynamic Monitoring with Integrity Constraints (DynaMICs) augments existing approaches by including: 1) elicitation of constraints from domain experts and developers that capture knowledge about real-world objects, assumptions, and limitations, 2) constraints stored and maintained separate from the program, 3) automatic generation of monitoring code and program instrumentation, 4) performance-friendly monitoring, and 5) tracing among specifications, code, and documentation. The primary motivation for DynaMICs is to facilitate the detection of faults, in particular those that result from insufficient communication, change in intended software use, and errors introduced through external interfaces. After presenting related work and an overview of DynaMICs, this paper outlines the methodology used to provide an automated and independent software-fault detection system.