Monitoring-Oriented Programming (MOP), is a software development and analysis framework which aims to reduce the gap between formal specification and implementation by allowing them together to form a system. In MOP, runtime monitoring is supported and encouraged as a fundamental principle for building reliable software: monitors are automatically synthesized from specified properties and integrated with the original system to check its dynamic behaviors during execution. When a specification is violated or validated at runtime, user-defined actions will be triggered, which can be any code: from information logging to runtime recovery.
JavaMOP is an instance of MOP for Java.
See INSTALL.md for installing JavaMOP from the binary release zip archive. To build JavaMOP from source code, download the source code and refer to src/README.md.
Refer to docs/Usage.md for detailed instructions on how to use JavaMOP.
A separate tool called javamopagent
is provided to facilitate the
monitoring of your program. Refer to [docs/JavaMOPAgentUsage.md]
(docs/JavaMOPAgentUsage.md) for detailed instructions on how to use
JavaMOPAgent.