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
Tax calculation will be finalised at checkout
Purchases are for personal use only
Learn about institutional subscriptionsPreview
Unable to display preview. Download preview PDF.
References
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)
AOSD-Europe. Common Aspect Proof Environment (CAPE) http://www.cs.technion.ac.il/~ssdl/research/cape/
Balzarotti, D., D’Ursi, A., Cavallaro, L., Monga, M.: Slicing AspectJ woven code. In: Proc. of Foundations of Aspect Languages Workshop (FOAL 2005) (2005)
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)
Clarke Jr., E.M., Grumberg, O., Peled, D.A.: Model Checking. MIT Press, Cambridge (1999)
Devereux, B.: Compositional reasoning about aspects using alternating-time logic. In: Proc. of Foundations of Aspect Languages Workshop (FOAL 2003) (2003)
Djoko, S.D., Douence, R., Fradet, P.: Aspects preserving properties. In: Proc. of PEPM 2008 Workshop (2008)
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)
Filman, R.E., Elrad, T., Clarke, S., Aksit, M.: Aspect-Oriented Software Development. Addison-Wesley, Reading (2005)
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)
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)
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)
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)
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)
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)
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)
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
Krishnamurthi, S., Fisler, K., Greenberg, M.: Verifying aspect advice modularly. In: FSE 2004, pp. 137–146. ACM, New York (2004)
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)
Meyer, B.: Object-Oriented Software Construction. Prentice-Hall, Englewood Cliffs (1988)
Owicki, S., Gries, D.: An axiomatic proof technique for parallel programs. Acta Informatica 6, 319–340 (1976)
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)
Sihman, M., Katz, S.: Superimposition and aspect-oriented programming. BCS Computer Journal 46(5), 529–541 (2003)
Sipma, H.B.: A formal model for cross-cutting modular transition systems. In: Proc. of Foundations of Aspect Languages Workshop (FOAL 2003) (2003)
Storzer, M., Krinke, J.: Interference analysis for aspectj. In: Proc. of Foundations of Aspect Languages Workshop (FOAL 2003) (2003)
Visser, W., Havelund, K., Brat, G.P., Park, S., Lerda, F.: Model checking programs. Autom. Softw. Eng. 10(2), 203–232 (2003)
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)
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)
Zhao, J.: Slicing aspect-oriented software. In: IEEE International Workshop on Programming Comprehension, pp. 251–260 (2002)
Author information
Authors and Affiliations
Editor information
Rights 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)