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.
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
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)
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)
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)
Mens, T., Czarnecki, K., Van Gorp, P.: A Taxonomy of Model Transformation. In: International Workshop on Graph and Model Transformation (2005)
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)
Czarnecki, K., Helsen, S.: Feature-based survey of model transformation approaches. IBM Systems Journal 45(3), 622 (2006)
Eclipse Foundation: Eclipse Modeling Framework Project (EMF) (2007) (accessed February 20, 2007), Available at: http://www.eclipse.org/modeling/emf/
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)
Object Management Group: MOF 2.0 Query - Views - Transformations RFP. OMG Document ad/2002-04-10 (April (2002)
Miller, J., Mukerji, J., et al.: MDA Guide Version 1.0.1. OMG Document omg/2003-06-01 (June 2003)
DSTC-IBM-CBOP: MOF 2.0 Query/Views/Transformations, OMG Document ad/2004-01-06 (January 2004) (second revised submission)
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)
Bourne, S.: A conversation with Bruce Lindsay. Queue 2(8), 22–33 (2004)
Weiser, M.: Programmers use slicing when debugging. Communications of the ACM 25(7), 446–452 (1982)
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)
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)
Shapiro, E.: Algorithmic Program DeBugging. MIT Press, Cambridge, MA, USA (1983)
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)
Naish, L.: Declarative Debugging of Lazy Functional Programs. Dept. of Computer Science, University of Melbourne (1992)
Naish, L.: A Declarative Debugging Scheme. Department of Computer Science, University of Melbourne (1995)
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)
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)
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)
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)
Zhang, X., Gupta, N., Gupta, R.: Locating faults through automated predicate switching. In: International Conference on Software Engineering, pp. 272–281 (2006)
Author information
Authors and Affiliations
Editor information
Rights 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)