Checking and Correcting Behaviors of Java Programs at Runtime with Java-MOP

  • Authors:
  • Feng Chen;Marcelo d'Amorim;Grigore Roşu

  • Affiliations:
  • Department of Computer Science, University of Illinois at Urbana-Champaign, USA;Department of Computer Science, University of Illinois at Urbana-Champaign, USA;Department of Computer Science, University of Illinois at Urbana-Champaign, USA

  • Venue:
  • Electronic Notes in Theoretical Computer Science (ENTCS)
  • Year:
  • 2006

Quantified Score

Hi-index 0.00

Visualization

Abstract

Monitoring-oriented programming (MOP) is a software development and analysis technique in which monitoring plays a fundamental role. MOP users can add their favorite or domain-specific requirements specification formalisms into the framework by means of logic plug-ins, which essentially comprise monitor synthesis algorithms for properties expressed as formulae. The properties are specified together with declarations stating where and how to automatically integrate the corresponding monitor into the system, as well as what to do if the property is violated or validated. In this paper we present Java-MOP, an MOP environment for developing robust Java applications. Based upon a carefully designed specification schema and upon several logic plug-ins, Java-MOP allows users to specify and monitor properties which can refer not only to the current program state, but also to the entire execution trace of a program, including past and future behaviors.