Skip to main content

Forensic Debugging of Model Transformations

  • Conference paper
Model Driven Engineering Languages and Systems (MODELS 2007)

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

  • 1563 Accesses

Abstract

Software bugs occur in model-driven development, just as they do with traditional development techniques. We explore the types of bugs that occur in model transformations and identify debugging approaches that can be applied or adapted to a model-driven context. Investigation shows that the detailed source-to-target traceability available with model transformations enables effective post-hoc, or forensic, debugging. Forensic debugging techniques are introduced for automated bug localisation in model transformations. The methods discussed are grounded with examples using the Eclipse Modeling Framework (EMF) and Tefkat, a declarative model transformation engine.

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

Access this chapter

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

Similar content being viewed by others

References

  1. Sedlmeyer, R., Thompson, W., Johnson, P.: Knowledge-based fault localization in debugging: preliminary draft. In: Proceedings of the ACM SIGSOFT/SIGPLAN software engineering symposium on high-level debugging, vol. 8(4), pp. 25–31. ACM Press, New York (1983)

    Chapter  Google Scholar 

  2. Ducassé, M., Emde, A.M.: A review of automated debugging systems: knowledge, strategies and techniques. In: Proceedings of the 10th international conference on Software engineering, pp. 162–171 (1988)

    Google Scholar 

  3. Jones, J., Harrold, M., Stasko, J.: Visualization of test information to assist fault localization. In: Proceedings of the 24th international conference on Software engineering, pp. 467–477 (2002)

    Google Scholar 

  4. Mens, T., Czarnecki, K., Van Gorp, P.: A Taxonomy of Model Transformation. In: International Workshop on Graph and Model Transformation (2005)

    Google Scholar 

  5. Czarnecki, K., Helsen, S.: Classification of Model Transformation Approaches. In: Proceedings of the 2nd Object-Oriented Programming, Systems, Languages and Applications (OOPSLA) Workshop on Generative Techniques in the Context of the Model Driven Architecture (2003)

    Google Scholar 

  6. Czarnecki, K., Helsen, S.: Feature-based survey of model transformation approaches. IBM Systems Journal 45(3), 622 (2006)

    Article  Google Scholar 

  7. Eclipse Foundation: Eclipse Modeling Framework Project (EMF) (2007) (accessed February 20, 2007), Available at: http://www.eclipse.org/modeling/emf/

  8. Lawley, M., Steel, J.: Practical Declarative Model Transformation With Tefkat. In: Bruel, J.-M. (ed.) MoDELS 2005. LNCS, vol. 3844, p. 139. Springer, Heidelberg (2006)

    Chapter  Google Scholar 

  9. Object Management Group: MOF 2.0 Query - Views - Transformations RFP. OMG Document ad/2002-04-10 (April (2002)

    Google Scholar 

  10. Miller, J., Mukerji, J., et al.: MDA Guide Version 1.0.1. OMG Document omg/2003-06-01 (June 2003)

    Google Scholar 

  11. DSTC-IBM-CBOP: MOF 2.0 Query/Views/Transformations, OMG Document ad/2004-01-06 (January 2004) (second revised submission)

    Google Scholar 

  12. Gerber, A., Lawley, M., Raymond, K., Steel, J., Wood, A.: Transformation: The Missing Link of MDA. In: Corradini, A., Ehrig, H., Kreowski, H.-J., Rozenberg, G. (eds.) ICGT 2002. LNCS, vol. 2505, Springer, Heidelberg (2002)

    Chapter  Google Scholar 

  13. Bourne, S.: A conversation with Bruce Lindsay. Queue 2(8), 22–33 (2004)

    Article  Google Scholar 

  14. Weiser, M.: Programmers use slicing when debugging. Communications of the ACM 25(7), 446–452 (1982)

    Article  Google Scholar 

  15. Xu, B., Qian, J., Zhang, X., Wu, Z., Chen, L.: A brief survey of program slicing. ACM SIGSOFT Software Engineering Notes 30(2), 1–36 (2005)

    Article  Google Scholar 

  16. Shapiro, E.: Algorithmic program diagnosis. In: Proceedings of the 9th ACM SIGPLAN-SIGACT symposium on Principles of programming languages, pp. 299–308. ACM Press, New York (1982)

    Chapter  Google Scholar 

  17. Shapiro, E.: Algorithmic Program DeBugging. MIT Press, Cambridge, MA, USA (1983)

    Google Scholar 

  18. Fritzson, P., Shahmehri, N., Kamkar, M., Gyimothy, T.: Generalized algorithmic debugging and testing. ACM Letters on Programming Languages and Systems (LOPLAS) 1(4), 303–322 (1992)

    Article  Google Scholar 

  19. Naish, L.: Declarative Debugging of Lazy Functional Programs. Dept. of Computer Science, University of Melbourne (1992)

    Google Scholar 

  20. Naish, L.: A Declarative Debugging Scheme. Department of Computer Science, University of Melbourne (1995)

    Google Scholar 

  21. Hangal, S., Lam, M.: Tracking down software bugs using automatic anomaly detection. In: Proceedings of the 24th International Conference on Software Engineering, pp. 291–301 (2002)

    Google Scholar 

  22. Liu, C., Yan, X., Fei, L., Han, J., Midkiff, S.: SOBER: Statistical Model-based Bug Localization. In: Proceedings of the 10th European software engineering conference held jointly with 13th ACM SIGSOFT international symposium on Foundations of software engineering, pp. 286–295. ACM Press, New York (2005)

    Chapter  Google Scholar 

  23. Renieres, M., Reiss, S.: Fault localization with nearest neighbor queries. In: Proceedings 18th IEEE International Conference on Automated Software Engineering, 2003, pp. 30–39. IEEE Computer Society Press, Los Alamitos (2003)

    Chapter  Google Scholar 

  24. Agrawal, H., Horgan, J.R., London, S., Wong, W.E.: Fault localization using execution slices and dataflow tests. In: Proceedings Sixth International Symposium on Software Reliability Engineering, pp. 143–151 (1995)

    Google Scholar 

  25. Zhang, X., Gupta, N., Gupta, R.: Locating faults through automated predicate switching. In: International Conference on Software Engineering, pp. 272–281 (2006)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Gregor Engels Bill Opdyke Douglas C. Schmidt Frank Weil

Rights and permissions

Reprints and permissions

Copyright information

© 2007 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Hibberd, M., Lawley, M., Raymond, K. (2007). Forensic Debugging of Model Transformations. In: Engels, G., Opdyke, B., Schmidt, D.C., Weil, F. (eds) Model Driven Engineering Languages and Systems. MODELS 2007. Lecture Notes in Computer Science, vol 4735. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-75209-7_40

Download citation

  • DOI: https://doi.org/10.1007/978-3-540-75209-7_40

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-75208-0

  • Online ISBN: 978-3-540-75209-7

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics