Skip to main content

Aspects and Formal Methods

  • Conference paper
  • 695 Accesses

Part of the book series: Lecture Notes in Computer Science ((LNPSE,volume 5014))

Abstract

Aspects are now commonly used to add functionality that otherwise would cut across the structure of object systems. In this survey, both directions in the connection between aspects and formal methods are examined. On the one hand, the use of aspects to facilitate (general) software verification, and especially model checking, is demonstrated. On the other hand, the new challenges to formal specification and verification posed by aspects are defined, and several existing solutions are described.

This is a preview of subscription content, log in via an institution.

Buying options

Chapter
USD   29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD   39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD   54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Learn about institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Abraham, E., de Boer, F.S., de Roever, W.-P., Steffen, M.: An assertion-based proof system for multithreaded java. Theoretical Computer Science 331(2-3), 251–290 (2005)

    Article  MATH  MathSciNet  Google Scholar 

  2. AOSD-Europe. Common Aspect Proof Environment (CAPE) http://www.cs.technion.ac.il/~ssdl/research/cape/

  3. Balzarotti, D., D’Ursi, A., Cavallaro, L., Monga, M.: Slicing AspectJ woven code. In: Proc. of Foundations of Aspect Languages Workshop (FOAL 2005) (2005)

    Google Scholar 

  4. Bruns, G., Jagadeesan, R., Jeffrey, A., Riely, J.: μABC: A Minimal Aspect Calculus. In: Gardner, P., Yoshida, N. (eds.) CONCUR 2004. LNCS, vol. 3170, pp. 209–224. Springer, Heidelberg (2004)

    Google Scholar 

  5. Clarke Jr., E.M., Grumberg, O., Peled, D.A.: Model Checking. MIT Press, Cambridge (1999)

    Google Scholar 

  6. Devereux, B.: Compositional reasoning about aspects using alternating-time logic. In: Proc. of Foundations of Aspect Languages Workshop (FOAL 2003) (2003)

    Google Scholar 

  7. Djoko, S.D., Douence, R., Fradet, P.: Aspects preserving properties. In: Proc. of PEPM 2008 Workshop (2008)

    Google Scholar 

  8. Douence, R., Fradet, P., Sudholt, M.: Composition, reuse, and interaction analysis of stateful aspects. In: Proc. of 3th Intl. Conf. on Aspect-Oriented Software Development (AOSD 2004), pp. 141–150. ACM Press, New York (2004)

    Chapter  Google Scholar 

  9. Filman, R.E., Elrad, T., Clarke, S., Aksit, M.: Aspect-Oriented Software Development. Addison-Wesley, Reading (2005)

    Google Scholar 

  10. Goldman, M., Katz, S.: MAVEN: Modular Aspect Verification. In: Grumberg, O., Huth, M. (eds.) TACAS 2007. LNCS, vol. 4424, pp. 308–322. Springer, Heidelberg (2007)

    Chapter  Google Scholar 

  11. Hatcliff, J., Dwyer, M.: Using the Bandera Tool Set to Model-Check Properties of Concurrent Java Software. In: Larsen, K.G., Nielsen, M. (eds.) CONCUR 2001. LNCS, vol. 2154, pp. 39–58. Springer, Heidelberg (2001)

    Chapter  Google Scholar 

  12. Havinga, W., Nagy, I., Bergmans, L., Aksit, M.: A graph-based approach to modeling and detecting composition conflicts related to introductions. In: AOSD 2007: Proc. of 6th international conference on Aspect-oriented software development, pp. 85–95. ACM Press, New York (2007)

    Chapter  Google Scholar 

  13. Katz, E., Katz, S.: Verifying Scenario-Based Aspect Specifications. In: Fitzgerald, J.S., Hayes, I.J., Tarlecki, A. (eds.) FM 2005. LNCS, vol. 3582, pp. 432–447. Springer, Heidelberg (2005)

    Google Scholar 

  14. Katz, E., Katz, S.: Incremental analysis of interference among aspects. In: Proc. of 2008 Foundations of Aspect Languages (FOAL) Workshop, ACM Digital Library, New York (2008)

    Google Scholar 

  15. Katz, S.: Aspect Categories and Classes of Temporal Properties. In: Rashid, A., Aksit, M. (eds.) Transactions on Aspect-Oriented Software Development I. LNCS, vol. 3880, pp. 106–134. Springer, Heidelberg (2006)

    Chapter  Google Scholar 

  16. Katz, S., Sihman, M.: Aspect Validation Using Model Checking. In: Dershowitz, N. (ed.) Verification: Theory and Practice. LNCS, vol. 2772, pp. 373–394. Springer, Heidelberg (2004)

    Google Scholar 

  17. Kiczales, G., Hilsdale, E., Hugunin, J., Kersten, M., Palm, J., Griswold, W.G.: An Overview of AspectJ. In: Knudsen, J.L. (ed.) ECOOP 2001. LNCS, vol. 2072, pp. 327–353. Springer, Heidelberg (2001), http://aspectj.org

    Chapter  Google Scholar 

  18. Krishnamurthi, S., Fisler, K., Greenberg, M.: Verifying aspect advice modularly. In: FSE 2004, pp. 137–146. ACM, New York (2004)

    Google Scholar 

  19. Lammel, R.: A semantical approach to method-call interception. In: Proc. of First Intl. Conf. on Aspect-Oriented Software Development (AOSD 2002), pp. 41–55. ACM Press, New York (2002)

    Chapter  Google Scholar 

  20. Meyer, B.: Object-Oriented Software Construction. Prentice-Hall, Englewood Cliffs (1988)

    Google Scholar 

  21. Owicki, S., Gries, D.: An axiomatic proof technique for parallel programs. Acta Informatica 6, 319–340 (1976)

    Article  MATH  MathSciNet  Google Scholar 

  22. Rinard, M., Salcianu, A., Bugrara, S.: A classification system and analysis for aspect-oriented programs. In: Proc. of International Conference on Foundations of Software Engineering (FSE 2004) (2004)

    Google Scholar 

  23. Sihman, M., Katz, S.: Superimposition and aspect-oriented programming. BCS Computer Journal 46(5), 529–541 (2003)

    Article  MATH  Google Scholar 

  24. Sipma, H.B.: A formal model for cross-cutting modular transition systems. In: Proc. of Foundations of Aspect Languages Workshop (FOAL 2003) (2003)

    Google Scholar 

  25. Storzer, M., Krinke, J.: Interference analysis for aspectj. In: Proc. of Foundations of Aspect Languages Workshop (FOAL 2003) (2003)

    Google Scholar 

  26. Visser, W., Havelund, K., Brat, G.P., Park, S., Lerda, F.: Model checking programs. Autom. Softw. Eng. 10(2), 203–232 (2003)

    Article  Google Scholar 

  27. Wand, M., Kiczales, G., Dutchyn, C.: A semantics for advice and dynamic join points in aspect-oriented programming. Trans. on Prog. Langs and Systems (TOPLAS) 26(5), 890–910 (2004)

    Article  Google Scholar 

  28. Weston, N., Taiani, F., Rashid, A.: Interaction analysis for fault-tolerance in aspect-oriented programming. In: Proc. of 2007 Workshop on Methods, Models, and Tools for Fault Tolerance (2007)

    Google Scholar 

  29. Zhao, J.: Slicing aspect-oriented software. In: IEEE International Workshop on Programming Comprehension, pp. 251–260 (2002)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Jorge Cuellar Tom Maibaum Kaisa Sere

Rights and permissions

Reprints and permissions

Copyright information

© 2008 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Katz, S. (2008). Aspects and Formal Methods. In: Cuellar, J., Maibaum, T., Sere, K. (eds) FM 2008: Formal Methods. FM 2008. Lecture Notes in Computer Science, vol 5014. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-68237-0_1

Download citation

  • DOI: https://doi.org/10.1007/978-3-540-68237-0_1

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-68235-6

  • Online ISBN: 978-3-540-68237-0

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics