Open Access
Monitoring-Oriented Programming: A Tool-Supported Methodology for Higher Quality Object-Oriented Software
Feng Chen,Marcelo d'Amorim,Grigore Rosu +2 more
- 01 Mar 2004
4
TL;DR: This paper presents a tool-supported methodological paradigm for object-oriented software development, called monitoringoriented programming and abbreviated MOP, in which runtime monitoring is a basic software design principle, by reducing the gap between formal specification and implementation, by integrating the two and allowing them together to form a system.
read more
Abstract: This paper presents a tool-supported methodological paradigm for object-oriented software development, called monitoringoriented programming and abbreviated MOP, in which runtime monitoring is a basic software design principle. The general idea underlying MOP is that software developers insert specifications in their code via annotations. Actual monitoring code is automatically synthesized from these annotations before compilation and integrated at appropriate places in the program, according to user-defined configuration attributes. This way, the specification is checked at runtime against the implementation. Moreover, violations and/or validations of specifications can trigger user-defined code at any points in the program, in particular recovery code, outputting or sending messages, or raising exceptions. The MOP paradigm does not promote or enforce any specific formalism to specify requirements: it allows the users to plug-in their favorite or domain-specific specification formalisms via logic plug-in modules. There are two major technical challenges that MOP supporting tools unavoidably face: monitor synthesis and monitor integration. The former is heavily dependent on the specification formalism and comes as part of the corresponding logic plug-in, while the latter is uniform for all specification formalisms and depends only on the target programming language. An experimental prototype tool, called Java-MOP, is also discussed, which currently supports most but not all of the desired MOP features. MOP aims at reducing the gap between formal specification and implementation, by integrating the two and allowing them together to form a system. ∗(Produces the permission block, copyright information and page numbering). For use with ACM PROC ARTICLESP.CLS V2.6SP. Supported by ACM.
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
•Dissertation
Practical runtime monitoring with impact guarantees of java programs with real-time constraints
Christian Colombo
- 01 Jan 2008
TL;DR: This thesis examines closely the work in runtime verification and identifies potential improvements with regards to the specification of properties and guarantees which are given and presents a theory based on the prominent real-time logic, duration calculus, to be able to give guarantees on the effects of slowing down/speeding up the target system due to the monitoring overhead.
10
A framework for development of runtime monitors
Ramya Dharam,Sajjan G. Shiva +1 more
- 10 Sep 2012
TL;DR: This paper presents a framework for the development of runtime monitors to accomplish post-deployment monitoring of software to detect and prevent path traversal attack.
7
A framework for transforming, analyzing, and realizing software designs in unified modeling language
Xudong He,Zhijiang Dong +1 more
- 01 Jan 2006
TL;DR: The framework in the investigation is creative and flexible since it not only can be explored to verify and validate UML designs, but also provides an approach to build models for various scenarios.
References
•Book
Introduction to Automata Theory, Languages, and Computation
John E. Hopcroft,Rajeev Motwani,Rotwani,Jeffrey D. Ullman +3 more
- 01 Jan 1979
TL;DR: This book is a rigorous exposition of formal languages and models of computation, with an introduction to computational complexity, appropriate for upper-level computer science undergraduates who are comfortable with mathematical arguments.
14.5K
The temporal logic of programs
Amir Pnueli
- 30 Sep 1977
TL;DR: A unified approach to program verification is suggested, which applies to both sequential and parallel programs, and the main proof method is that of temporal reasoning in which the time dependence of events is the basic concept.
5.8K
Aspect-oriented programming
Gregor Kiczales,Erik Hilsdale +1 more
- 01 Sep 2001
TL;DR: This tutorial shows how to use AOP to implement crosscutting conerns in a concise modular way and includes a description of their underlying model, in terms of which a wide range of AOP languages can be understood.
5.6K
•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