Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
article

Verifying aspect advice modularly

Published: 31 October 2004 Publication History

Abstract

Aspect-oriented programming has become an increasingly important means of expressing cross-cutting program abstractions. Despite this, aspects lack support for computer-aided verification. We present a technique for verifying aspect-oriented programs (expressed as state machines). Our technique assumes that the set of pointcut designators is known statically, but that the actual advice can vary. This calls for a modular technique that does not require repeated analysis of the entire system every time a developer changes advice. We present such an analysis, addressing several subtleties that arise. We also present an important optimization for handling multiple pointcut designators. We have implemented a prototype verifier and applied it to some simple but interesting cases.

References

[1]
Alur, R., K. Etassami and P. Madhusudan. A temporal logic of nested calls and returns. In Tools and Algorithms for the Construction and Analysis of Systems, 2004.
[2]
Alur, R. and M. Yannakakis. Model checking of hierarchical state machines. In Symposium on the Foundations of Software Engineering, pages 175--188, 1998.
[3]
Andrews, J. H. Process-algebraic foundations of aspect-oriented programming. In Reflection, pages 187--209, September 2001.
[4]
Aßmann, U. Invasive Software Composition. Springer-Verlag, 2003.
[5]
Clarke, E., O. Grumberg and D. Peled. Model Checking. MIT Press, 2000.
[6]
Corbett, J. C., M. B. Dwyer, J. Hatcliff, S. Laubach, C. S. Pasareanu, Robby and H. Zheng. Bandera: Extracting finite-state models from Java source code. In International Conference on Software Engineering, 2000.
[7]
Denaro, G. and M. Monga. An experience on verification of aspect properties. In International Workshop on Principles of Software Evolution, September 2001.
[8]
Deng, X., M. B. Dwyer, J. Hatcliff and M. Mizuno. Invariant-based specification, synthesis, and verification of synchronization in concurrent programs. In International Conference on Software Engineering, pages 442--452, 2002.
[9]
Devereux, B. Compositional reasoning about aspects using alternating-time logic. In Foundations of Aspect-Oriented Languages, March 2003.
[10]
Douence, R., P. Fradet and M. Südholt. A framework for the detection and resolution of aspect interactions. In International Conference on Generative Programming and Component Engineering, October 2002.
[11]
Dwyer, M. B. and L. A. Clarke. Flow analysis for verifying specifications of concurrent and distributed software. Technical Report UM-CS-1999-052, University of Massachusetts, Computer Science Department, August 1999.
[12]
Fisler, K. and S. Krishnamurthi. Modular verification of collaboration-based software designs. In Joint European Software Engineering Conference and ACM SIGSOFT Symposium on the Foundations of Software Engineering, pages 152--163, September 2001.
[13]
Fisler, K. and S. Krishnamurthi. Modular verification of feature-oriented software models. Technical Report WPI-CS-TR-02-28, WPI, Department of Computer Science, October 2002.
[14]
Giannakopoulou, D., C. Pasareanu and H. Barringer. Assumption generation for software component verification. In IEEE International Symposium on Automated Software Engineering, pages 3--12, 2002.
[15]
Kiczales, G., J. des Rivières and D. G. Bobrow. The Art of the Metaobject Protocol. MIT Press, 1991.
[16]
Kiczales, G., E. Hilsdale, J. Hugunin, M. Kersten, J. Palm and W. Griswold. An overview of AspectJ. In European Conference on Object-Oriented Programming, 2001.
[17]
Kiczales, G., J. Lamping, A. Mendhekar, C. Maeda, C. V. Lopes, J.-M. Loingtier and J. Irwin. Aspect-oriented programming. In European Conference on Object-Oriented Programming, June 1997.
[18]
Kupferman, O., M. Vardi and P. Wolper. Module checking. In International Conference on Computer-Aided Verification, number 1102 in Lecture Notes in Computer Science, pages 75--86. Springer-Verlag, 1998.
[19]
Laster, K. and O. Grumberg. Modular model checking of software. In Conference on Tools and Algorithms for the Construction and Analysis of Systems, 1998.
[20]
Li, H. C., S. Krishnamurthi and K. Fisler. Modular verification of open features through three-valued model checking. Automated Software Engineering: An International Journal, 2003.
[21]
Lieberherr, K. J. Adaptive Object-Oriented Programming. PWS Publishing, Boston, MA, USA, 1996.
[22]
Masuhara, H., G. Kiczales and C. Dutchyn. A compilation and optimization model for aspect-oriented programs. In Compiler Construction, pages 46--60, 2003.
[23]
Mousavi, M., G. Russello, M. Chaudron, M. Reniers, T. Basten, A. Corsaro, S. Shukla, R. Gupta and D. C. Schmidt. Using Aspect-GAMMA in design and verification of embedded systems. In International Workshop on High Level Design Validation and Test, October 2002.
[24]
Nelson, T., D. D. Cowan and P. S. C. Alencar. Supporting formal verification of crosscutting concerns. In Reflection, pages 153--169, 2001.
[25]
Regimbal, S., J.-F. Lemire, Y. Savaria, G. Bois, E. M. Aboulhamid and A. Baron. Aspect partitioning for hardware verification reuse. In Workshop on System-on-Chip for Real-Time Applications, 2002.
[26]
Sereni, D. and O. de Moor. Static analysis of aspects. In International Conference on Aspect-Oriented Software Development, pages 30--39, March 2003.
[27]
Sihman, M. and S. Katz. Model checking applications of aspects and superimpositions. In Foundations of Aspect-Oriented Languages, March 2003.
[28]
Sihman, M. and S. Katz. Superimpositions and aspect-oriented programming. The Computer Journal, 46(5):529--541, September 2003.
[29]
Störzer, M. and J. Krinke. Interference analysis for AspectJ. In Foundations of Aspect-Oriented Languages, 2003.
[30]
Tesanovic, A., J. Hansson, D. Nyström, C. Norström and P. Uhlin. Aspect-level WCET analyzer. In International Workshop on Worst-Case Execution Time Analysis, July 2003.
[31]
Ubayashi, N. and T. Tamai. Aspect oriented programming with model checking. In International Conference on Aspect-Oriented Software Development, pages 148--154, April 2002.
[32]
Xu, J., H. Rajan and K. Sullivan. Aspect reasoning by reduction to implicit invocation. In Foundations of Aspect-Oriented Languages, March 2004.

Cited By

View all
  • (2015)Incremental Realization of Safety Requirements: Non-determinism vs. ModularityFundamentals of Software Engineering10.1007/978-3-319-24644-4_11(159-175)Online publication date: 12-Nov-2015
  • (2013)Confluence of aspects for sequence diagramsSoftware and Systems Modeling (SoSyM)10.1007/s10270-011-0212-112:4(789-824)Online publication date: 1-Oct-2013
  • (2012)Verification and analysis of domain-specific models of physical characteristics in embedded control softwareInformation and Software Technology10.1016/j.infsof.2012.07.00554:12(1432-1453)Online publication date: 1-Dec-2012
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM SIGSOFT Software Engineering Notes
ACM SIGSOFT Software Engineering Notes  Volume 29, Issue 6
November 2004
275 pages
ISSN:0163-5948
DOI:10.1145/1041685
Issue’s Table of Contents
  • cover image ACM Conferences
    SIGSOFT '04/FSE-12: Proceedings of the 12th ACM SIGSOFT twelfth international symposium on Foundations of software engineering
    October 2004
    282 pages
    ISBN:1581138555
    DOI:10.1145/1029894
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 31 October 2004
Published in SIGSOFT Volume 29, Issue 6

Check for updates

Author Tags

  1. aspect-oriented software
  2. model checking
  3. modular verification

Qualifiers

  • Article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)1
  • Downloads (Last 6 weeks)0
Reflects downloads up to 08 Feb 2025

Other Metrics

Citations

Cited By

View all
  • (2015)Incremental Realization of Safety Requirements: Non-determinism vs. ModularityFundamentals of Software Engineering10.1007/978-3-319-24644-4_11(159-175)Online publication date: 12-Nov-2015
  • (2013)Confluence of aspects for sequence diagramsSoftware and Systems Modeling (SoSyM)10.1007/s10270-011-0212-112:4(789-824)Online publication date: 1-Oct-2013
  • (2012)Verification and analysis of domain-specific models of physical characteristics in embedded control softwareInformation and Software Technology10.1016/j.infsof.2012.07.00554:12(1432-1453)Online publication date: 1-Dec-2012
  • (2012)Software diversityInternational Journal on Software Tools for Technology Transfer (STTT)10.1007/s10009-012-0253-y14:5(477-495)Online publication date: 1-Oct-2012
  • (2011)Aspect assumptionsProceedings of the tenth international conference on Aspect-oriented software development10.1145/1960275.1960288(93-104)Online publication date: 21-Mar-2011
  • (2011)Unveiling and taming liabilities of aspects in the presence of exceptionsInformation Sciences: an International Journal10.1016/j.ins.2010.06.002181:13(2700-2720)Online publication date: 1-Jul-2011
  • (2010)Modular aspect-oriented design with XPIsACM Transactions on Software Engineering and Methodology10.1145/1824760.182476220:2(1-42)Online publication date: 8-Sep-2010
  • (2008)XFindBugsProceedings of the 8th ACM SIGPLAN-SIGSOFT workshop on Program analysis for software tools and engineering10.1145/1512475.1512490(70-76)Online publication date: 9-Nov-2008
  • (2005)Uniform support for modeling crosscutting structureProceedings of the 8th international conference on Model Driven Engineering Languages and Systems10.1007/11557432_39(508-521)Online publication date: 2-Oct-2005
  • (2005)Separation of concerns with procedures, annotations, advice and pointcutsProceedings of the 19th European conference on Object-Oriented Programming10.1007/11531142_9(195-213)Online publication date: 25-Jul-2005
  • Show More Cited By

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media