Java-MaC: A Run-time Assurance Tool for Java Programs
Moonjoo Kim,Sampath Kannan,Insup Lee,Oleg Sokolsky,Mahesh Viswanathan +4 more
- 01 Oct 2001
- Vol. 55, Iss: 2, pp 218-235
218
TL;DR: The paper presents an overview of the MaC architecture and a prototype implementation of the Monitoring and Checking (MaC) architecture, a lightweight formal method solution as a viable complement to the current heavyweight formal methods.
read more
Abstract: 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.
read more
Chat with Paper
AI Agents for this Paper
Find similar papers on Google Scholar, PubMed and Arxiv
Write a critical review of this paper
Analyze citations of this paper to find unaddressed research gaps
Citations
Computability classes for enforcement mechanisms
TL;DR: A precise characterization of those security policies enforceable by program rewriting and some but not all classes can be identified with known classes from computational complexity theory.
Rewriting-Based Techniques for Runtime Verification
Grigore Rosu,Klaus Havelund +1 more
- 01 Apr 2005
TL;DR: The presented work is part of an ambitious runtime verification and monitoring project at NASA Ames, called PathExplorer, and demonstrates that rewriting can be a tractable and attractive means for experimenting and implementing logics for program monitoring.
Java-MOP: a monitoring oriented programming environment for java
Feng Chen,Grigore Rosu +1 more
- 04 Apr 2005
TL;DR: A Java-based tool-supported software development and analysis framework is presented, where monitoring is a foundational principle and expressive requirements specification formalisms can be included into the framework via logic plug-ins.
•Journal Article
Java-MOP: A monitoring oriented programming environment for java
Feng Chen,Grigore Roou +1 more
TL;DR: In this article, a Java-based tool-supported software development and analysis framework is presented, where monitoring is a foundational principle. Expressive requirements specification formalisms can be included into the framework via logic plug-ins, allowing one to refer not only to the current state but also to both past and future states.
189
Copilot: a hard real-time runtime monitor
Lee Pike,Alwyn Goodloe,Robin Morisset,Sebastian Niller +3 more
- 01 Nov 2010
TL;DR: The core of the approach is a language and compiler called Copilot, a stream-based dataflow language that generates small constant-time and constant-space C programs, implementing embedded monitors, obviating the need for an underlying real-time operating system.
149
References
•Book
The Temporal Logic of Reactive and Concurrent Systems: Specification
Amir Pnueli,Zohar Manna +1 more
- 18 Dec 1991
TL;DR: An introduction to temporal logic and a computational model for reactive systems .
3.6K
•Book
The temporal logic of reactive and concurrent systems
Zohar Manna,Amir Pnueli +1 more
- 01 Jan 1992
TL;DR: Temporal logic is a formal tool/language which yields excellent results in specifying reactive systems, and this volume (the first two), offers an introduction to temporal logic and to the computational model for reactive programs which has been developed by the authors as mentioned in this paper.
3K
Model checking programs
Willem Visser,Klaus Havelund,Guillaume Brat,Seungjoon Park +3 more
- 11 Sep 2000
TL;DR: A verification and testing environment for Java, called Java PathFinder (JPF), which integrates model checking, program analysis and testing, and uses state compression to handle big states and partial order and symmetry reduction, slicing, abstraction, and runtime analysis techniques to reduce the state space.
Formal methods: state of the art and future directions
TL;DR: The state of the art in specification and verification, which includes advances in model checking and theorem proving, is assessed and future directions in fundamental concepts, new methods and tools, integration of methods, and education and technology transfer are outlined.
Formally specified monitoring of temporal properties
Moonjoo Kim,Mahesh Viswanathan,Hanêne Ben-Abdallah,Sampath Kannan,Insup Lee,Oleg Sokolsky +5 more
- 09 Jun 1999
TL;DR: The MaC framework provides assurance on the correctness of an execution of a real-time system at runtime and bridges the gap between formal specification and testing, which validates implementations but lacks formality.
Related Papers (5)
Howard Barringer,Allen Goldberg,Klaus Havelund,Koushik Sen +3 more
- 11 Jan 2004
Klaus Havelund,Grigore Rosu +1 more
- 08 Apr 2002
Klaus Havelund,Grigore Rosu +1 more
- 01 Oct 2001
Koushik Sen,Grigore Rosu,Gul Agha +2 more
- 01 Sep 2003