Verifying Aspect-Oriented Programs Using Open Temporal Logic

The behavior model of traditional temporal logic is closed and symmetrical, while the behavior model of aspect-oriented programs is open and asymmetrical. When the programmer designs the base-code, he is not sure what aspects will be woven to it. It is indirect and difficult to specify and verify the behavior of aspect-oriented programs by using traditional temporal logic. In this paper, we propose a new temporal logic named open temporal logic, which introduced some new path operators and one new temporal operator. Since paths are divided into two kinds: internal parts and external parts, the behavioral model of open temporal logic is open and asymmetrical. Base on open temporal logic and the proof system of traditional rely-guarantee method, a new proof system is given to verify the behavior of aspect-oriented programs.

[1]  Neelam Soundarajan,et al.  Rely-guarantee approach to reasoning about aspect-oriented programs , 2007, SPLAT.

[2]  Shmuel Katz,et al.  Verifying Scenario-Based Aspect Specifications , 2005, FM.

[3]  Shmuel Katz,et al.  Modular Generic Verification of LTL Properties for Aspects , 2006 .

[4]  Daniel P. Friedman,et al.  Aspect-Oriented Programming is Quantification and Obliviousness , 2000 .

[5]  Leonor Prensa Nieto The Rely-Guarantee Method in Isabelle/HOL , 2003, ESOP.

[6]  Cliff B. Jones,et al.  Tentative steps toward a development method for interfering programs , 1983, TOPL.

[7]  Zohar Manna,et al.  The Temporal Logic of Reactive and Concurrent Systems , 1991, Springer New York.

[8]  Harold Ossher,et al.  Asymmetrically vs. Symmetrically Organized Paradigms for Software Composition , 2002 .

[9]  Gregor Kiczales,et al.  Aspect-oriented programming , 2001, ESEC/FSE-9.

[10]  Shmuel Katz,et al.  Modular verification of strongly invasive aspects: summary , 2009, FOAL '09.

[11]  Pierfrancesco Bellini,et al.  Temporal logics for real-time system specification , 2000, CSUR.

[12]  Valentin Goranko,et al.  Logic in Computer Science: Modelling and Reasoning About Systems , 2007, J. Log. Lang. Inf..

[13]  Robert Goldblatt,et al.  Mathematical modal logic: A view of its evolution , 2003, J. Appl. Log..

[14]  Mark Ryan,et al.  Logic in Computer Science: Modelling and Reasoning about Systems , 2000 .

[15]  Cristina V. Lopes,et al.  Aspect-oriented programming , 1999, ECOOP Workshops.

[16]  Shmuel Katz,et al.  MAVEN: Modular Aspect Verification , 2007, TACAS.

[17]  Willem P. de Roever,et al.  The rely-guarantee method for verifying shared variable concurrent programs , 1997, Formal Aspects of Computing.

[18]  Kathi Fisler,et al.  Verifying aspect advice modularly , 2004, SIGSOFT '04/FSE-12.

[19]  Christel Baier,et al.  Principles of model checking , 2008 .

[20]  David Walker,et al.  Harmless advice , 2006, POPL '06.

[21]  Barry J. Devereux Compositional reasoning about aspects using alternating-time logic , 2003 .

[22]  Shmuel Katz,et al.  Incremental analysis of interference among aspects , 2008, FOAL.

[23]  Christel Baier,et al.  PROBMELA: a modeling language for communicating probabilistic processes , 2004, Proceedings. Second ACM and IEEE International Conference on Formal Methods and Models for Co-Design, 2004. MEMOCODE '04..

[24]  Cliff B. Jones,et al.  Guaranteeing the soundness of rely/guarantee rules , 2006 .

[25]  Kathi Fisler,et al.  Foundations of incremental aspect model-checking , 2007, TSEM.