Skip to main content
Erschienen in: Software and Systems Modeling 3/2018

01.07.2016 | Special Section Paper

Quick fixing ATL transformations with speculative analysis

verfasst von: Jesús Sánchez Cuadrado, Esther Guerra, Juan de Lara

Erschienen in: Software and Systems Modeling | Ausgabe 3/2018

Einloggen

Aktivieren Sie unsere intelligente Suche, um passende Fachinhalte oder Patente zu finden.

search-config
loading …

Abstract

Model transformations are central components of most model-based software projects. While ensuring their correctness is vital to guarantee the quality of the solution, current transformation tools provide limited support to statically detect and fix errors. In this way, the identification of errors and their correction are nowadays mostly manual activities which incur in high costs. The aim of this work is to improve this situation. Recently, we developed a static analyser that combines program analysis and constraint solving to identify errors in ATL model transformations. In this paper, we present a novel method and system that uses our analyser to propose suitable quick fixes for ATL transformation errors, notably some non-trivial, transformation-specific ones. Our approach supports speculative analysis to help developers select the most appropriate fix by creating a dynamic ranking of fixes, reporting on the consequences of applying a quick fix, and providing a pre-visualization of each quick fix application. The approach integrates seamlessly with the ATL editor. Moreover, we provide an evaluation based on existing faulty transformations built by a third party, and on automatically generated transformation mutants, which are then corrected with the quick fixes of our catalogue.

Sie haben noch keine Lizenz? Dann Informieren Sie sich jetzt über unsere Produkte:

Springer Professional "Wirtschaft+Technik"

Online-Abonnement

Mit Springer Professional "Wirtschaft+Technik" erhalten Sie Zugriff auf:

  • über 102.000 Bücher
  • über 537 Zeitschriften

aus folgenden Fachgebieten:

  • Automobil + Motoren
  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Elektrotechnik + Elektronik
  • Energie + Nachhaltigkeit
  • Finance + Banking
  • Management + Führung
  • Marketing + Vertrieb
  • Maschinenbau + Werkstoffe
  • Versicherung + Risiko

Jetzt Wissensvorsprung sichern!

Springer Professional "Wirtschaft"

Online-Abonnement

Mit Springer Professional "Wirtschaft" erhalten Sie Zugriff auf:

  • über 67.000 Bücher
  • über 340 Zeitschriften

aus folgenden Fachgebieten:

  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Finance + Banking
  • Management + Führung
  • Marketing + Vertrieb
  • Versicherung + Risiko




Jetzt Wissensvorsprung sichern!

Springer Professional "Technik"

Online-Abonnement

Mit Springer Professional "Technik" erhalten Sie Zugriff auf:

  • über 67.000 Bücher
  • über 390 Zeitschriften

aus folgenden Fachgebieten:

  • Automobil + Motoren
  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Elektrotechnik + Elektronik
  • Energie + Nachhaltigkeit
  • Maschinenbau + Werkstoffe




 

Jetzt Wissensvorsprung sichern!

Fußnoten
2
http://​www.​eclipse.​org/​atl/​usecases/​, some of these transformations originated from industrial projects.
 
3
In ATL, a helper is an auxiliary query operation.
 
5
We have fixed Listing 1 for this figure.
 
6
In practice, it is more natural to consider lazy/called rules as operations.
 
7
The transformation does define two attribute helpers in the context of Activity and ActivityPartition, but not a one-parameter helper at the module level.
 
9
We are not yet able to precisely determine in which circumstances the solver behaves correctly and in which not. Thus, we notify the user that the analysis is not completely reliable.
 
Literatur
1.
Zurück zum Zitat Abraham, R., Erwig, M.: GoalDebug: a spreadsheet debugger for end users. In: ICSE, pp. 251–260. IEEE Computer Society (2007) Abraham, R., Erwig, M.: GoalDebug: a spreadsheet debugger for end users. In: ICSE, pp. 251–260. IEEE Computer Society (2007)
2.
Zurück zum Zitat Arendt, T., Biermann, E., Jurack, S., Krause, C., Taentzer, G.: Henshin: advanced concepts and tools for in-place EMF model transformations. In: MoDELS, vol. 6394 of LNCS, pp. 121–135. Springer, Berlin (2010) Arendt, T., Biermann, E., Jurack, S., Krause, C., Taentzer, G.: Henshin: advanced concepts and tools for in-place EMF model transformations. In: MoDELS, vol. 6394 of LNCS, pp. 121–135. Springer, Berlin (2010)
3.
Zurück zum Zitat Brun, Y, Holmes, R, Ernst, M.D., Notkin ,D.: Speculative analysis: exploring future development states of software. In: FoSER, pp. 59–64. ACM (2010) Brun, Y, Holmes, R, Ernst, M.D., Notkin ,D.: Speculative analysis: exploring future development states of software. In: FoSER, pp. 59–64. ACM (2010)
4.
Zurück zum Zitat Cabot, J., Clarisó, R., Guerra, E., de Lara, J.: Synthesis of OCL pre-conditions for graph transformation rules. In: ICMT, vol. 6142 of LNCS, pp. 45–60. Springer, Berlin (2010) Cabot, J., Clarisó, R., Guerra, E., de Lara, J.: Synthesis of OCL pre-conditions for graph transformation rules. In: ICMT, vol. 6142 of LNCS, pp. 45–60. Springer, Berlin (2010)
5.
Zurück zum Zitat Cibran, M.A.: Translating BPMN models into UML activities. In: Business Process Management Workshops, pp. 236–247. Springer, Berlin (2009) Cibran, M.A.: Translating BPMN models into UML activities. In: Business Process Management Workshops, pp. 236–247. Springer, Berlin (2009)
6.
Zurück zum Zitat Cohen, W., Ravikumar, P., Fienberg, S.: A comparison of string metrics for matching names and records. In: KDD Workshop on Data Cleaning and Object Consolidation vol. 3, pp. 73–78 (2003) Cohen, W., Ravikumar, P., Fienberg, S.: A comparison of string metrics for matching names and records. In: KDD Workshop on Data Cleaning and Object Consolidation vol. 3, pp. 73–78 (2003)
7.
Zurück zum Zitat Deckwerth, F., Varró, G.: Attribute handling for generating preconditions from graph constraints. In: ICGT, vol. 8571 of LNCS, pp. 81–96. Springer, Berlin (2014) Deckwerth, F., Varró, G.: Attribute handling for generating preconditions from graph constraints. In: ICGT, vol. 8571 of LNCS, pp. 81–96. Springer, Berlin (2014)
8.
Zurück zum Zitat Demarco, F., Xuan, J, Berre, D.L., Monperrus, M.: Automatic repair of buggy if conditions and missing preconditions with SMT. In: CSTVA, pp. 30–39. ACM (2014) Demarco, F., Xuan, J, Berre, D.L., Monperrus, M.: Automatic repair of buggy if conditions and missing preconditions with SMT. In: CSTVA, pp. 30–39. ACM (2014)
9.
Zurück zum Zitat Ferrante, J., Ottenstein, K.J., Warren, J.D.: The program dependence graph and its use in optimization. ACM Trans. Program. Lang. Syst. 9(3), 319–349 (1987)CrossRefMATH Ferrante, J., Ottenstein, K.J., Warren, J.D.: The program dependence graph and its use in optimization. ACM Trans. Program. Lang. Syst. 9(3), 319–349 (1987)CrossRefMATH
10.
Zurück zum Zitat Guerra, E., de Lara, J., Wimmer, M., Kappel, G., Kusel, A., Retschitzegger, W., Schönböck, J., Schwinger, W.: Automated verification of model transformations based on visual contracts. Autom. Softw. Eng. 20(1), 5–46 (2013)CrossRef Guerra, E., de Lara, J., Wimmer, M., Kappel, G., Kusel, A., Retschitzegger, W., Schönböck, J., Schwinger, W.: Automated verification of model transformations based on visual contracts. Autom. Softw. Eng. 20(1), 5–46 (2013)CrossRef
11.
Zurück zum Zitat Guerra, E., Soeken, M.: Specification-driven model transformation testing. Softw. Syst. Model. 14(2), 623–644 (2015)CrossRef Guerra, E., Soeken, M.: Specification-driven model transformation testing. Softw. Syst. Model. 14(2), 623–644 (2015)CrossRef
12.
Zurück zum Zitat Hegedüs, Á., Horváth, Á., Ráth, I., Branco, M. C., Varró, D.: Quick fix generation for DSMLs. In: VL/HCC, pp. 17–24. IEEE (2011) Hegedüs, Á., Horváth, Á., Ráth, I., Branco, M. C., Varró, D.: Quick fix generation for DSMLs. In: VL/HCC, pp. 17–24. IEEE (2011)
13.
Zurück zum Zitat Jeffrey, D., Feng, M., Gupta, N., Gupta, R.: BugFix: a learning-based tool to assist developers in fixing bugs. In: ICPC, pp. 70–79. IEEE Computer Society (2009) Jeffrey, D., Feng, M., Gupta, N., Gupta, R.: BugFix: a learning-based tool to assist developers in fixing bugs. In: ICPC, pp. 70–79. IEEE Computer Society (2009)
14.
Zurück zum Zitat Jézéquel, J.-M., Barais, O., Fleurey, F.: Model driven language engineering with kermeta. In GTTSE’09, vol. 6491 of LNCS, pp. 201–221. Springer, Berlin (2011) Jézéquel, J.-M., Barais, O., Fleurey, F.: Model driven language engineering with kermeta. In GTTSE’09, vol. 6491 of LNCS, pp. 201–221. Springer, Berlin (2011)
15.
Zurück zum Zitat Jouault, F., Allilaire, F., Bézivin, J., Kurtev, I.: ATL: a model transformation tool. Sci. Comput. Program. 72(1), 31–39 (2008)MathSciNetCrossRefMATH Jouault, F., Allilaire, F., Bézivin, J., Kurtev, I.: ATL: a model transformation tool. Sci. Comput. Program. 72(1), 31–39 (2008)MathSciNetCrossRefMATH
16.
Zurück zum Zitat Kaleeswaran, S., Tulsian, V., Kanade, A., Orso, A.: MintHint: automated synthesis of repair hints. In: ICSE, pp. 266–276. ACM (2014) Kaleeswaran, S., Tulsian, V., Kanade, A., Orso, A.: MintHint: automated synthesis of repair hints. In: ICSE, pp. 266–276. ACM (2014)
17.
Zurück zum Zitat Köhler, C., Lewin, H., Taentzer, G.: Ensuring containment constraints in graph-based model transformation approaches. In: ECEASST vol. 6 (2007) Köhler, C., Lewin, H., Taentzer, G.: Ensuring containment constraints in graph-based model transformation approaches. In: ECEASST vol. 6 (2007)
18.
Zurück zum Zitat Kolovos, D.S., Paige, R.F., Polack, F.: The epsilon transformation language. In: ICMT, vol. 5063 of LNCS, pp. 46–60. Springer, Berlin (2008) Kolovos, D.S., Paige, R.F., Polack, F.: The epsilon transformation language. In: ICMT, vol. 5063 of LNCS, pp. 46–60. Springer, Berlin (2008)
19.
Zurück zum Zitat Kuhlmann, M., Hamann, L., Gogolla, M.: Extensive validation of OCL models by integrating SAT solving into USE. In: TOOLS (49), vol. 6705 of LNCS, pp. 290–306. Springer, Berlin (2011) Kuhlmann, M., Hamann, L., Gogolla, M.: Extensive validation of OCL models by integrating SAT solving into USE. In: TOOLS (49), vol. 6705 of LNCS, pp. 290–306. Springer, Berlin (2011)
20.
Zurück zum Zitat Kusel, A., Schwinger, W., Wimmer, M., Retschitzegger, W.: Common pitfalls of using QVT relations - graphical debugging as remedy. In: ICECCS, pp. 329–334. IEEE (2009) Kusel, A., Schwinger, W., Wimmer, M., Retschitzegger, W.: Common pitfalls of using QVT relations - graphical debugging as remedy. In: ICECCS, pp. 329–334. IEEE (2009)
21.
Zurück zum Zitat Le Goues, C., Dewey-Vogt, M., Forrest, S., Weimer, W.: A systematic study of automated program repair: fixing 55 out of 105 bugs for $8 each. In: ICSE, pp. 3–13. IEEE (2012) Le Goues, C., Dewey-Vogt, M., Forrest, S., Weimer, W.: A systematic study of automated program repair: fixing 55 out of 105 bugs for $8 each. In: ICSE, pp. 3–13. IEEE (2012)
22.
Zurück zum Zitat Le Goues, C., Forrest, S., Weimer, W.: Current challenges in automatic software repair. Softw. Qual. J. 21(3), 421–443 (2013)CrossRef Le Goues, C., Forrest, S., Weimer, W.: Current challenges in automatic software repair. Softw. Qual. J. 21(3), 421–443 (2013)CrossRef
23.
Zurück zum Zitat Le Goues, C., Nguyen, T., Forrest, S., Weimer, W.: Genprog: a generic method for automatic software repair. IEEE TSE 38(1), 54–72 (2012) Le Goues, C., Nguyen, T., Forrest, S., Weimer, W.: Genprog: a generic method for automatic software repair. IEEE TSE 38(1), 54–72 (2012)
24.
Zurück zum Zitat Logozzo, F., Ball, T.: Modular and verified automatic program repair. In: OOPSLA, pp. 133–146. ACM (2012) Logozzo, F., Ball, T.: Modular and verified automatic program repair. In: OOPSLA, pp. 133–146. ACM (2012)
25.
Zurück zum Zitat Martinez, M., Monperrus, M.: Mining software repair models for reasoning on the search space of automated program fixing. Empir. Softw. Eng. 20(1), 176–205 (2015)CrossRef Martinez, M., Monperrus, M.: Mining software repair models for reasoning on the search space of automated program fixing. Empir. Softw. Eng. 20(1), 176–205 (2015)CrossRef
26.
Zurück zum Zitat Martinez, M., Weimer, W., Monperrus, M.: Do the fix ingredients already exist? An empirical inquiry into the redundancy assumptions of program repair approaches. In: ICSE, pp. 492–495. ACM (2014) Martinez, M., Weimer, W., Monperrus, M.: Do the fix ingredients already exist? An empirical inquiry into the redundancy assumptions of program repair approaches. In: ICSE, pp. 492–495. ACM (2014)
27.
Zurück zum Zitat Muntean, P., Kommanapalli, V., Ibing, A., Eckert, C.: Automated generation of buffer overflow quick fixes using symbolic execution and SMT. In: SAFECOMP, vol. 9337 of LNCS, pp. 441–456. Springer, Berlin (2015) Muntean, P., Kommanapalli, V., Ibing, A., Eckert, C.: Automated generation of buffer overflow quick fixes using symbolic execution and SMT. In: SAFECOMP, vol. 9337 of LNCS, pp. 441–456. Springer, Berlin (2015)
28.
Zurück zum Zitat Muslu, K., Brun, Y., Holmes, R., Ernst, M.D., Notkin, D.: Speculative analysis of integrated development environment recommendations. In: OOPSLA, pp. 669–682. ACM (2012) Muslu, K., Brun, Y., Holmes, R., Ernst, M.D., Notkin, D.: Speculative analysis of integrated development environment recommendations. In: OOPSLA, pp. 669–682. ACM (2012)
29.
Zurück zum Zitat Pei, Y., Furia, C.A., Nordio, M., Wei, Y., Meyer, B., Zeller, A.: Automated fixing of programs with contracts. IEEE TSE 40(5), 427–449 (2014) Pei, Y., Furia, C.A., Nordio, M., Wei, Y., Meyer, B., Zeller, A.: Automated fixing of programs with contracts. IEEE TSE 40(5), 427–449 (2014)
30.
Zurück zum Zitat Perkins, J.H., Kim, S., Larsen, S., Amarasinghe, S.P., Bachrach, J., Carbin, M., Pacheco, C., Sherwood, F., Sidiroglou, S., Sullivan, G., Wong, W., Zibin, Y., Ernst, M.D., Rinard, M.C.: Automatically patching errors in deployed software. In: SOSP, pp. 87–102. ACM (2009) Perkins, J.H., Kim, S., Larsen, S., Amarasinghe, S.P., Bachrach, J., Carbin, M., Pacheco, C., Sherwood, F., Sidiroglou, S., Sullivan, G., Wong, W., Zibin, Y., Ernst, M.D., Rinard, M.C.: Automatically patching errors in deployed software. In: SOSP, pp. 87–102. ACM (2009)
31.
Zurück zum Zitat Proksch, S., Amann, S., Mezini, M.: Towards standardized evaluation of developer-assistance tools. In: RSSE, pp. 14–18. ACM (2014) Proksch, S., Amann, S., Mezini, M.: Towards standardized evaluation of developer-assistance tools. In: RSSE, pp. 14–18. ACM (2014)
33.
Zurück zum Zitat Rahim, L.A., Whittle, J.: A survey of approaches for verifying model transformations. Softw. Syst. Model. 14(2), 1003–1028 (2015)CrossRef Rahim, L.A., Whittle, J.: A survey of approaches for verifying model transformations. Softw. Syst. Model. 14(2), 1003–1028 (2015)CrossRef
34.
Zurück zum Zitat Robillard, M.P., Walker, R.J., Zimmermann, T.: Recommendation systems for software engineering. IEEE Softw. 27(4), 80–86 (2010)CrossRef Robillard, M.P., Walker, R.J., Zimmermann, T.: Recommendation systems for software engineering. IEEE Softw. 27(4), 80–86 (2010)CrossRef
35.
Zurück zum Zitat Sánchez Cuadrado, J., Guerra, E., de Lara, J.: Uncovering errors in ATL model transformations using static analysis and constraint solving. In: ISSRE, pp. 34–44. IEEE (2014) Sánchez Cuadrado, J., Guerra, E., de Lara, J.: Uncovering errors in ATL model transformations using static analysis and constraint solving. In: ISSRE, pp. 34–44. IEEE (2014)
36.
Zurück zum Zitat Sánchez Cuadrado, J., Guerra, E., de Lara, J.: Quick fixing ATL model transformations. In: MoDELS, pp. 146–155. IEEE (2015) Sánchez Cuadrado, J., Guerra, E.,  de Lara, J.: Quick fixing ATL model transformations. In: MoDELS, pp. 146–155. IEEE (2015)
37.
Zurück zum Zitat Varró, D., Balogh, A.: The model transformation language of the viatra2 framework. Sci. Comput. Program. 68(3), 214–234 (2007)MathSciNetCrossRefMATH Varró, D., Balogh, A.: The model transformation language of the viatra2 framework. Sci. Comput. Program. 68(3), 214–234 (2007)MathSciNetCrossRefMATH
38.
Zurück zum Zitat Weimer, W., Nguyen, T., Le Goues, C., Forrest, S.: Automatically finding patches using genetic programming. In: ICSE, pp. 364–374. IEEE (2009) Weimer, W., Nguyen, T., Le Goues, C., Forrest, S.: Automatically finding patches using genetic programming. In: ICSE, pp. 364–374. IEEE (2009)
39.
Zurück zum Zitat Wimmer, M., Kappel, G., Kusel, A., Retschitzegger, W., Schönböck, J., Schwinger, W.: Right or wrong?—verification of model transformations using colored petri nets. In: DSM (2009) Wimmer, M., Kappel, G., Kusel, A., Retschitzegger, W., Schönböck, J., Schwinger, W.: Right or wrong?—verification of model transformations using colored petri nets. In: DSM (2009)
40.
Zurück zum Zitat Wimmer, M., Perez, S., Jouault, F., Cabot, J.: A catalogue of refactorings for model-to-model transformations. JOT 11(2), 1–40 (2012) Wimmer, M., Perez, S., Jouault, F., Cabot, J.: A catalogue of refactorings for model-to-model transformations. JOT 11(2), 1–40 (2012)
Metadaten
Titel
Quick fixing ATL transformations with speculative analysis
verfasst von
Jesús Sánchez Cuadrado
Esther Guerra
Juan de Lara
Publikationsdatum
01.07.2016
Verlag
Springer Berlin Heidelberg
Erschienen in
Software and Systems Modeling / Ausgabe 3/2018
Print ISSN: 1619-1366
Elektronische ISSN: 1619-1374
DOI
https://doi.org/10.1007/s10270-016-0541-1

Weitere Artikel der Ausgabe 3/2018

Software and Systems Modeling 3/2018 Zur Ausgabe