Electronic Notes in Theoretical Computer Science · 2001 · 159 citations · 11 references
ComputingComputer EngineeringComputer ScienceFormal MethodsProgramming LanguagesSoftware EngineeringModel CheckingSoftware TestingSoftware ValidationSpecification LanguagesType CheckingVerificationAutomatic InstrumentationFormal Requirement SpecificationFormal VerificationProgram InstrumentationSoftware VerificationSystem Requirements Specification
We describe Java-MaC, a prototype implementation of the Monitoring and Checking (MaC) architecture for Java programs. The MaC architecture provides assurance about the correct execution of target programs at run-time. Monitoring and checking is performed based on a formal specification of system requirements. MaC bridges the gap between formal verification, which ensures the correctness of a design rather than an implementation, and testing, which only partially validates an implementation. Java-MaC provides a lightweight formal method solution as a viable complement to the current heavyweight formal methods. An important aspect of the architecture is the clear separation between monitoring implementation-dependent low-level behaviors and checking high-level behaviors against a formal requirements specification. Another salient feature is automatic instrumentation of executable codes. The paper presents an overview of the MaC architecture and a prototype implementation Java-MaC.
11
Formal Methods: State of the Art and Future Directions
Jeannette M. Wing · 1996 · 1.1K citations
James C. Corbett, Matthew B. Dwyer, John Hatcliff et al. · 2000 · 1.1K citations · Full text
Willem Visser, Klaus Havelund, Guillaume Brat et al. · 2000 · 338 citations
Formally specified monitoring of temporal properties
Moonjoo Kim, Mahesh Viswanathan, Hanêne Ben‐Abdallah et al. · 2003 · 126 citations · Full text