Skip to main content

Two-Way Traceability and Conflict Debugging for AspectLTL Programs

  • Chapter
Transactions on Aspect-Oriented Software Development X

Part of the book series: Lecture Notes in Computer Science ((TAOSD,volume 7800))

Abstract

Tracing program actions back to the concerns that have caused them and blaming specific code artifacts for concern interference are known challenges of AOP and related advanced modularity paradigms. In this work, we address these challenges in the context of AspectLTL, a temporal-logic-based language for the specification and implementation of crosscutting concerns, which has a composition and synthesis-based weaving process whose output is a correct-by-construction executable artifact. When a specification is realizable, we provide two-way traceability information that links each allowed or forbidden transition in the generated program with the aspects that have justified its presence or elimination. When a specification is unrealizable, we provide an interactive game proof that demonstrates conflicts that should be fixed. The techniques are implemented and demonstrated using running examples.

Preliminary version appeared in AOSD’12 [19]. This research was supported by The John von Neumann Minerva Center for the Development of Reactive Systems at the Weizmann Institute of Science. In addition, part of this research was funded by an Advanced Research Grant awarded to David Harel of the Weizmann Institute from the European Research Council (ERC) under the European Community’s 7th Framework Programme (FP7/2007-2013).

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

Access this chapter

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

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. AspectJ Development Tools, http://www.eclipse.org/ajdt/

  2. AspectLTL website, http://aspectltl.ysaar.net/

  3. Bloem, R., Jobstmann, B., Piterman, N., Pnueli, A., Sa’ar, Y.: Synthesis of reactive(1) designs. Journal of Computer and System Sciences 78(3), 911–938 (2012)

    Article  MathSciNet  MATH  Google Scholar 

  4. Borger, W.D., Lagaisse, B., Joosen, W.: A generic and reflective debugging architecture to support runtime visibility and traceability of aspects. In: Sullivan, K.J., Moreira, A., Schwanninger, C., Gray, J. (eds.) AOSD, pp. 173–184. ACM (2009)

    Google Scholar 

  5. Burch, J.R., Clarke, E.M., McMillan, K.L., Dill, D.L., Hwang, L.J.: Symbolic model checking: 1020 states and beyond. Inf. Comput. 98(2), 142–170 (1992)

    Article  MathSciNet  MATH  Google Scholar 

  6. Cimatti, A., Roveri, M., Schuppan, V., Tchaltsev, A.: Diagnostic Information for Realizability. In: Logozzo, F., Peled, D.A., Zuck, L.D. (eds.) VMCAI 2008. LNCS, vol. 4905, pp. 52–67. Springer, Heidelberg (2008)

    Chapter  Google Scholar 

  7. Felty, A.P., Namjoshi, K.S.: Feature specification and automated conflict detection. ACM Trans. Softw. Eng. Methodol. 12(1), 3–27 (2003)

    Article  Google Scholar 

  8. Goldman, M., Katz, E., Katz, S.: MAVEN: modular aspect verification and interference analysis. Formal Methods in System Design 37(1), 61–92 (2010)

    Article  MATH  Google Scholar 

  9. Hay, J.D., Atlee, J.M.: Composing features and resolving interactions. In: SIGSOFT FSE, pp. 110–119. ACM (2000)

    Google Scholar 

  10. Jackson, M., Zave, P.: Distributed feature composition: A virtual architecture for telecommunications services. IEEE Trans. Software Eng. 24(10), 831–847 (1998)

    Article  Google Scholar 

  11. Katz, E., Katz, S.: Incremental analysis of interference among aspects. In: Clifton, C. (ed.) FOAL, pp. 29–38. ACM (2008)

    Google Scholar 

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

    Google Scholar 

  13. Kesten, Y., Pnueli, A.: Verification by augmented finitary abstraction. Inf. Comput. 163, 203–243 (2000)

    Article  MathSciNet  MATH  Google Scholar 

  14. Könighofer, R., Hofferek, G., Bloem, R.: Debugging formal specifications using simple counterstrategies. In: FMCAD, pp. 152–159. IEEE (2009)

    Google Scholar 

  15. Krishnamurthi, S., Fisler, K.: Foundations of incremental aspect model-checking. ACM Trans. Softw. Eng. Methodol. 16(2) (2007)

    Google Scholar 

  16. Li, H.C., Krishnamurthi, S., Fisler, K.: Verifying cross-cutting features as open systems. In: SIGSOFT FSE, pp. 89–98. ACM (2002)

    Google Scholar 

  17. Manna, Z., Pnueli, A.: The temporal logic of concurrent and reactive systems: specification. Springer (1992)

    Google Scholar 

  18. Maoz, S., Sa’ar, Y.: AspectLTL: an aspect language for LTL specifications. In: Borba, P., Chiba, S. (eds.) AOSD, pp. 19–30. ACM (2011)

    Google Scholar 

  19. Maoz, S., Sa’ar, Y.: Two-way traceability and conflict debugging for AspectLTL programs. In: Hirschfeld, R., Tanter, É., Sullivan, K.J., Gabriel, R.P. (eds.) AOSD, pp. 35–46. ACM (2012)

    Google Scholar 

  20. Piterman, N., Pnueli, A.: Faster solutions of Rabin and Streett games. In: LICS, pp. 275–284. IEEE Computer Society (2006)

    Google Scholar 

  21. Piterman, N., Pnueli, A., Sa’ar, Y.: Synthesis of Reactive(1) Designs. In: Emerson, E.A., Namjoshi, K.S. (eds.) VMCAI 2006. LNCS, vol. 3855, pp. 364–380. Springer, Heidelberg (2006)

    Chapter  Google Scholar 

  22. Pnueli, A.: The temporal logic of programs. In: FOCS, pp. 46–57. IEEE (1977)

    Google Scholar 

  23. Pnueli, A., Rosner, R.: On the synthesis of a reactive module. In: POPL, pp. 179–190 (1989)

    Google Scholar 

  24. Pnueli, A., Sa’ar, Y., Zuck, L.D.: JTLV: A Framework for Developing Verification Algorithms. In: Touili, T., Cook, B., Jackson, P. (eds.) CAV 2010. LNCS, vol. 6174, pp. 171–174. Springer, Heidelberg (2010)

    Chapter  Google Scholar 

  25. SMV model checker, http://www.cs.cmu.edu/~modelcheck/smv.html

  26. Xtext, http://www.eclipse.org/Xtext/

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2013 Springer-Verlag Berlin Heidelberg

About this chapter

Cite this chapter

Maoz, S., Sa’ar, Y. (2013). Two-Way Traceability and Conflict Debugging for AspectLTL Programs. In: Leavens, G.T., Chiba, S., Tanter, É. (eds) Transactions on Aspect-Oriented Software Development X. Lecture Notes in Computer Science, vol 7800. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-36964-3_2

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-36964-3_2

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-36963-6

  • Online ISBN: 978-3-642-36964-3

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics