Skip to main content

Static and Dynamic Detection of Behavioral Conflicts Between Aspects

  • Conference paper

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

Abstract

Aspects have been successfully promoted as a means to improve the modularization of software in the presence of crosscutting concerns. The so-called aspect interference problem is considered to be one of the remaining challenges of aspect-oriented software development: aspects may interfere with the behavior of the base code or other aspects. Especially interference between aspects is difficult to prevent, as this may be caused solely by the composition of aspects that behave correctly in isolation. A typical situation where this may occur is when multiple advices are applied at a shared, join point.

In [1] we explained the problem of behavioral conflicts between aspects at shared join points. We presented an approach for the detection of behavioral conflicts. This approach is based on a novel abstraction model for representing the behavior of advice. This model allows the expression of both primitive and complex behavior in a simple manner. This supports automatic conflict detection. The presented approach employs a set of conflict detection rules, which can be used to detect generic, domain specific and application specific conflicts. The approach is implemented in Compose*, which is an implementation of Composition Filters. This application shows that a declarative advice language can be exploited for aiding automated conflict detection.

This paper discusses the need for a runtime extension to the described static approach. It also presents a possible implementation approach of such an extension in Compose*. This allows us to reason efficiently about the behavior of aspects. It also enables us to detect these conflicts with minimal overhead at runtime.

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. Durr, P., Bergmans, L., Aksit, M.: Reasoning about semantic conflicts between aspects. In: Chitchyan, R., Fabry, J., Bergmans, L., Nedos, A., Rensink, A. (eds.) Proceeding of ADI 2006 Aspect, Dependencies, and interactions Workshop, Lancaster University, pp. 10–18 (July 2006)

    Google Scholar 

  2. Durr, P.E.A., Bergmans, L.M.J., Aksit, M.: Reasoning about behavioral conflicts between aspects. Technical Report TR-CTIT-07-15, Enschede (February 2007)

    Google Scholar 

  3. Group, T.O.: IEEE: Regular expressions. The Open Group Base Specifications, IEEE Std 1003.1 (6) (2004)

    Google Scholar 

  4. de Roo, A.: Towards more robust advice: Message flow analysis for composition filters and its application. Master’s thesis, University of Twente (March 2007)

    Google Scholar 

  5. Krishnamurthi, S., Fisler, K., Greenberg, M.: Verifying aspect advice modularly. In: SIGSOFT 2004/FSE-12: Proceedings of the 12th ACM SIGSOFT twelfth international symposium on Foundations of software engineering, pp. 137–146. ACM Press, New York, USA (2004)

    Chapter  Google Scholar 

  6. Goldman, M., Katz, S.: Modular generic verification of ltl properties for aspects. In: Clifton, C., Lämmel, R., Leavens, G.T. (eds.) FOAL: Foundations Of Aspect-Oriented Languages, pp. 11–19 (March 2006)

    Google Scholar 

  7. Staijen, T., Rensink, A.: A graph-transformation-based semantics for analysing aspect interference. In: Workshop on Graph Computation Models, Natal, Brazil (2006)

    Google Scholar 

  8. Douence, R., Fradet, P.: Trace-based aspects. In: Filman, R.E., Elrad, T., Clarke, S. (eds.) Aspect-Oriented Software Development, pp. 201–217. Addison-Wesley, Boston (2005)

    Google Scholar 

  9. Ségura-Devillechaise, M., Menaud, J.M., Fritz, T., Loriant, N., Douence, R., Südholt, M.: An expressive aspect language for system applications with arachne. Transactions on AOSD I 1(1), 174–213 (2006)

    Google Scholar 

  10. Bernstein, A.J.: Program analysis for parallel processing. In: IEEE Trans. on Electronic Computers. EC-15, pp. 757–762 (1966)

    Google Scholar 

  11. Lynch, N.A., Merritt, M., Weihl, W.E., Fekete, A. (eds.): Atomic Transactions: In Concurrent and Distributed Systems. Morgan Kaufmann, San Francisco (1993)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Oleg Sokolsky Serdar Taşıran

Rights and permissions

Reprints and permissions

Copyright information

© 2007 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Durr, P., Bergmans, L., Aksit, M. (2007). Static and Dynamic Detection of Behavioral Conflicts Between Aspects. In: Sokolsky, O., Taşıran, S. (eds) Runtime Verification. RV 2007. Lecture Notes in Computer Science, vol 4839. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-77395-5_4

Download citation

  • DOI: https://doi.org/10.1007/978-3-540-77395-5_4

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-77394-8

  • Online ISBN: 978-3-540-77395-5

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics