Skip to main content
Erschienen in: International Journal on Software Tools for Technology Transfer 6/2018

17.04.2018 | FASE 2017

Slicing ATL model transformations for scalable deductive verification and fault localization

verfasst von: Zheng Cheng, Massimo Tisi

Erschienen in: International Journal on Software Tools for Technology Transfer | Ausgabe 6/2018

Einloggen

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

search-config
loading …

Abstract

Model-driven engineering (MDE) is increasingly accepted in industry as an effective approach for managing the full life cycle of software development. In MDE, software models are manipulated, evolved and translated by model transformations (MT), up to code generation. Automatic deductive verification techniques have been proposed to guarantee that transformations satisfy correctness requirements (encoded as transformation contracts). However, to be transferable to industry, these techniques need to be scalable and provide the user with easily accessible feedback. In MT-specific languages like ATL, we are able to infer static trace information (i.e., mappings among types of generated elements and rules that potentially generate these types). In this paper, we show that this information can be used to decompose the MT contract and, for each sub-contract, slice the MT to the only rules that may be responsible for fulfilling it. Based on this contribution, we design a fault localization approach for MT, and a technique to significantly enhance scalability when verifying large MTs against a large number of contracts. We implement both these algorithms as extensions of the VeriATL verification system, and we show by experimentation that they increase its industry readiness.

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 "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!

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!

Fußnoten
1
A deductive approach for fault localization in ATL MTs (Online). https://​github.​com/​veriatl/​VeriATL/​tree/​FaultLoc.
 
2
On scalability of deductive verification for ATL MTs (Online). https://​github.​com/​veriatl/​VeriATL/​tree/​Scalability.
 
3
We name the initial states in the concrete syntax of HSM and FSM models for readability.
 
4
Our HSM2FSM transformation is adapted from [10]. The full version can be accessed at: https://​goo.​gl/​MbwiJC.
 
5
OCL invariants for UML. http://​bit.​ly/​UMLContracts.
 
6
In practice, we fill in the trace function by examining the output element types of each ATL rule, i.e., the to section of each rule.
 
7
In fact, the value of exp is assigned to x.a because of resolution failure. This causes a type mismatch exception and results in the value of x.a becoming undefined. (We consider ATL transformations in non-refinement mode where the source and target metamodels are different.)
 
8
\(Exec_{sliced\ \cup \ irrelevant}\) \(\iff \) \(Exec_{sliced}\) \(\wedge \) \(Exec_{irrelevant}\)
 
9
A deductive approach for fault localization in ATL MTs (Online). https://​github.​com/​veriatl/​VeriATL/​tree/​FaultLoc.
 
10
The naming convention for mutants is mutation operator Add(A)/Del(D)/Modify(M), followed by the mutation operand Rule(R)/Filter(F)/TargetElement(T)/Binding(B), followed by the position of the operand in the original transformation setting. For example, MB1 stands for the mutant which modifies the binding in the first rule.
 
12
On scalability of deductive verification for ATL MTs (Online). https://​github.​com/​veriatl/​VeriATL/​tree/​Scalability.
 
Literatur
1.
Zurück zum Zitat Ab. Rahim, L., Whittle, J.: A survey of approaches for verifying model transformations. Softw. Syst. Model. 14(2), 1003–1028 (2015)CrossRef Ab. Rahim, L., Whittle, J.: A survey of approaches for verifying model transformations. Softw. Syst. Model. 14(2), 1003–1028 (2015)CrossRef
2.
Zurück zum Zitat Abrial, J.R., Butler, M., Hallerstede, S., Hoang, T.S., Mehta, F., Voisin, L.: Rodin: an open toolset for modelling and reasoning in Event-B. Int. J. Softw. Tools Technol. Transf. 12(6), 447–466 (2010)CrossRef Abrial, J.R., Butler, M., Hallerstede, S., Hoang, T.S., Mehta, F., Voisin, L.: Rodin: an open toolset for modelling and reasoning in Event-B. Int. J. Softw. Tools Technol. Transf. 12(6), 447–466 (2010)CrossRef
3.
Zurück zum Zitat Aranega, V., Mottu, J., Etien, A., Dekeyser, J.: Traceability mechanism for error localization in model transformation. In: 4th International Conference on Software and Data Technologies, pp. 66–73. Sofia, Bulgaria (2009) Aranega, V., Mottu, J., Etien, A., Dekeyser, J.: Traceability mechanism for error localization in model transformation. In: 4th International Conference on Software and Data Technologies, pp. 66–73. Sofia, Bulgaria (2009)
4.
Zurück zum Zitat Barnett, M., Chang, B.Y.E., DeLine, R., Jacobs, B., Leino, K.R.M.: Boogie: a modular reusable verifier for object-oriented programs. In: 4th International Conference on Formal Methods for Components and Objects, pp. 364–387. Springer, Amsterdam, Netherlands (2006)CrossRef Barnett, M., Chang, B.Y.E., DeLine, R., Jacobs, B., Leino, K.R.M.: Boogie: a modular reusable verifier for object-oriented programs. In: 4th International Conference on Formal Methods for Components and Objects, pp. 364–387. Springer, Amsterdam, Netherlands (2006)CrossRef
5.
Zurück zum Zitat Berghofer, S., Nipkow, T.: Random testing in Isabelle/HOL. In: 2nd International Conference on Software Engineering and Formal Methods, pp. 230–239. IEEE, Beijing, China (2004) Berghofer, S., Nipkow, T.: Random testing in Isabelle/HOL. In: 2nd International Conference on Software Engineering and Formal Methods, pp. 230–239. IEEE, Beijing, China (2004)
6.
Zurück zum Zitat Berry, G.: Synchronous design and verification of critical embedded systems using SCADE and Esterel. In: 12th International Workshop on Formal Methods for Industrial Critical Systems, pp. 2–2. Springer, Berlin, Germany (2008) Berry, G.: Synchronous design and verification of critical embedded systems using SCADE and Esterel. In: 12th International Workshop on Formal Methods for Industrial Critical Systems, pp. 2–2. Springer, Berlin, Germany (2008)
7.
Zurück zum Zitat Bertot, Y., Castéran, P.: Interactive Theorem Proving and Program Development: Coq’Art The Calculus of Inductive Constructions, 1st edn. Springer, Berlin (2010)MATH Bertot, Y., Castéran, P.: Interactive Theorem Proving and Program Development: Coq’Art The Calculus of Inductive Constructions, 1st edn. Springer, Berlin (2010)MATH
8.
Zurück zum Zitat Briand, L.C.: Making model-driven verification practical and scalable—experiences and lessons learned. In: 4th International Conference on Model-Driven Engineering and Software Development. SCITEPRESS, Rome, Italy (2016) Briand, L.C.: Making model-driven verification practical and scalable—experiences and lessons learned. In: 4th International Conference on Model-Driven Engineering and Software Development. SCITEPRESS, Rome, Italy (2016)
9.
Zurück zum Zitat Burgueño, L., Troya, J., Wimmer, M., Vallecillo, A.: Static fault localization in model transformations. IEEE Trans. Softw. Eng. 41(5), 490–506 (2015)CrossRef Burgueño, L., Troya, J., Wimmer, M., Vallecillo, A.: Static fault localization in model transformations. IEEE Trans. Softw. Eng. 41(5), 490–506 (2015)CrossRef
10.
Zurück zum Zitat Büttner, F., Egea, M., Cabot, J.: On verifying ATL transformations using ‘off-the-shelf’ SMT solvers. In: 15th International Conference on Model Driven Engineering Languages and Systems, pp. 198–213. Springer, Innsbruck, Austria (2012)CrossRef Büttner, F., Egea, M., Cabot, J.: On verifying ATL transformations using ‘off-the-shelf’ SMT solvers. In: 15th International Conference on Model Driven Engineering Languages and Systems, pp. 198–213. Springer, Innsbruck, Austria (2012)CrossRef
11.
Zurück zum Zitat Büttner, F., Egea, M., Cabot, J., Gogolla, M.: Verification of ATL transformations using transformation models and model finders. In: 14th International Conference on Formal Engineering Methods, pp. 198–213. Springer, Kyoto, Japan (2012)CrossRef Büttner, F., Egea, M., Cabot, J., Gogolla, M.: Verification of ATL transformations using transformation models and model finders. In: 14th International Conference on Formal Engineering Methods, pp. 198–213. Springer, Kyoto, Japan (2012)CrossRef
12.
Zurück zum Zitat Calegari, D., Luna, C., Szasz, N., Tasistro, Á.: A type-theoretic framework for certified model transformations. In: 13th Brazilian Symposium on Formal Methods, pp. 112–127. Springer, Natal, Brazil (2011) Calegari, D., Luna, C., Szasz, N., Tasistro, Á.: A type-theoretic framework for certified model transformations. In: 13th Brazilian Symposium on Formal Methods, pp. 112–127. Springer, Natal, Brazil (2011)
13.
Zurück zum Zitat Cheng, Z., Monahan, R., Power, J.F.: A sound execution semantics for ATL via translation validation. In: 8th International Conference on Model Transformation, pp. 133–148. Springer, L’Aquila, Italy (2015)CrossRef Cheng, Z., Monahan, R., Power, J.F.: A sound execution semantics for ATL via translation validation. In: 8th International Conference on Model Transformation, pp. 133–148. Springer, L’Aquila, Italy (2015)CrossRef
15.
Zurück zum Zitat Cheng, Z., Tisi, M.: A deductive approach for fault localization in ATL model transformations. In: 20th International Conference on Fundamental Approaches to Software Engineering, pp. 300–317. Springer, Uppsala, Sweden (2017)CrossRef Cheng, Z., Tisi, M.: A deductive approach for fault localization in ATL model transformations. In: 20th International Conference on Fundamental Approaches to Software Engineering, pp. 300–317. Springer, Uppsala, Sweden (2017)CrossRef
16.
Zurück zum Zitat Claessen, K., Hughes, J.: QuickCheck: a lightweight tool for random testing of Haskell programs. ACM SIGPLAN Not. 46(4), 53–64 (2011)CrossRef Claessen, K., Hughes, J.: QuickCheck: a lightweight tool for random testing of Haskell programs. ACM SIGPLAN Not. 46(4), 53–64 (2011)CrossRef
17.
Zurück zum Zitat Cuadrado, J.S., Guerra, E., de Lara, J.: Uncovering errors in ATL model transformations using static analysis and constraint solving. In: 25th IEEE International Symposium on Software Reliability Engineering, pp. 34–44. IEEE, Naples, Italy (2014) Cuadrado, J.S., Guerra, E., de Lara, J.: Uncovering errors in ATL model transformations using static analysis and constraint solving. In: 25th IEEE International Symposium on Software Reliability Engineering, pp. 34–44. IEEE, Naples, Italy (2014)
18.
Zurück zum Zitat Cuadrado, J.S., Guerra, E., de Lara, J., Clarisó, R., Cabot, J.: Translating target to source constraints in model-to-model transformations. In: 20th ACM/IEEE International Conference on Model Driven Engineering Languages and Systems, pp. 12–22. IEEE, Austin, TX, USA (2017) Cuadrado, J.S., Guerra, E., de Lara, J., Clarisó, R., Cabot, J.: Translating target to source constraints in model-to-model transformations. In: 20th ACM/IEEE International Conference on Model Driven Engineering Languages and Systems, pp. 12–22. IEEE, Austin, TX, USA (2017)
19.
Zurück zum Zitat Filliâtre, J.C., Paskevich, A.: Why3—where programs meet provers. In: 22nd European Symposium on Programming, pp. 125–128. Springer, Rome, Italy (2013) Filliâtre, J.C., Paskevich, A.: Why3—where programs meet provers. In: 22nd European Symposium on Programming, pp. 125–128. Springer, Rome, Italy (2013)
20.
Zurück zum Zitat Harman, M., Binkley, D., Danicic, S.: Amorphous program slicing. J. Syst. Softw. 68(1), 45–64 (2003)CrossRef Harman, M., Binkley, D., Danicic, S.: Amorphous program slicing. J. Syst. Softw. 68(1), 45–64 (2003)CrossRef
21.
Zurück zum Zitat Hatcliff, J., Leavens, G.T., Leino, K.R.M., Müller, P., Parkinson, M.J.: Behavioral interface specification languages. ACM Comput. Surv. 44(3), 16:1–16:58 (2012)CrossRef Hatcliff, J., Leavens, G.T., Leino, K.R.M., Müller, P., Parkinson, M.J.: Behavioral interface specification languages. ACM Comput. Surv. 44(3), 16:1–16:58 (2012)CrossRef
22.
Zurück zum Zitat Hidaka, S., Jouault, F., Tisi, M.: On additivity in transformation languages. In: 2017 ACM/IEEE 20th International Conference on Model Driven Engineering Languages and Systems, pp. 23–33. IEEE, Austin, TX, USA (2017) Hidaka, S., Jouault, F., Tisi, M.: On additivity in transformation languages. In: 2017 ACM/IEEE 20th International Conference on Model Driven Engineering Languages and Systems, pp. 23–33. IEEE, Austin, TX, USA (2017)
23.
Zurück zum Zitat Hoare, C.A.R.: An axiomatic basis for computer programming. Commun. ACM 12(10), 576–580 (1969)CrossRef Hoare, C.A.R.: An axiomatic basis for computer programming. Commun. ACM 12(10), 576–580 (1969)CrossRef
24.
Zurück zum Zitat Howard, W.A.: The formulae-as-types notion of construction. In: To H.B. Curry: Essays on Combinatory Logic, Lambda Calculus and Formalism, pp. 479–490. Academic Press (1980) Howard, W.A.: The formulae-as-types notion of construction. In: To H.B. Curry: Essays on Combinatory Logic, Lambda Calculus and Formalism, pp. 479–490. Academic Press (1980)
25.
Zurück zum Zitat Huth, M., Ryan, M.: Logic in Computer Science: Modelling and Reasoning About Systems. Cambridge University Press, Cambridge (2004)CrossRef Huth, M., Ryan, M.: Logic in Computer Science: Modelling and Reasoning About Systems. Cambridge University Press, Cambridge (2004)CrossRef
26.
Zurück zum Zitat Jia, Y., Harman, M.: An analysis and survey of the development of mutation testing. IEEE Trans. Softw. Eng. 37(5), 649–678 (2011)CrossRef Jia, Y., Harman, M.: An analysis and survey of the development of mutation testing. IEEE Trans. Softw. Eng. 37(5), 649–678 (2011)CrossRef
27.
Zurück zum Zitat Jouault, F., Allilaire, F., Bézivin, J., Kurtev, I.: ATL: a model transformation tool. Sci. Comput. Program. 72(1–2), 31–39 (2008)MathSciNetCrossRef Jouault, F., Allilaire, F., Bézivin, J., Kurtev, I.: ATL: a model transformation tool. Sci. Comput. Program. 72(1–2), 31–39 (2008)MathSciNetCrossRef
28.
Zurück zum Zitat Kehrer, T., Taentzer, G., Rindt, M., Kelter, U.: Automatically deriving the specification of model editing operations from meta-models. In: 9th International Conference on Model Transformation, pp. 173–188. Springer, Vienna, Austria (2016)CrossRef Kehrer, T., Taentzer, G., Rindt, M., Kelter, U.: Automatically deriving the specification of model editing operations from meta-models. In: 9th International Conference on Model Transformation, pp. 173–188. Springer, Vienna, Austria (2016)CrossRef
29.
Zurück zum Zitat Lano, K., Clark, T., Kolahdouz-Rahimi, S.: A framework for model transformation verification. Form. Asp. Comput. 27(1), 193–235 (2014)MathSciNetCrossRef Lano, K., Clark, T., Kolahdouz-Rahimi, S.: A framework for model transformation verification. Form. Asp. Comput. 27(1), 193–235 (2014)MathSciNetCrossRef
31.
Zurück zum Zitat de Moura, L., Bjørner, N.: Z3: An efficient SMT solver. In: 14th International Conference on Tools and Algorithms for the Construction and Analysis of Systems, pp. 337–340. Springer, Budapest, Hungary (2008) de Moura, L., Bjørner, N.: Z3: An efficient SMT solver. In: 14th International Conference on Tools and Algorithms for the Construction and Analysis of Systems, pp. 337–340. Springer, Budapest, Hungary (2008)
32.
Zurück zum Zitat Oakes, B.J., Troya, J., Lúcio, L., Wimmer, M.: Fully verifying transformation contracts for declarative ATL. In: 18th ACM/IEEE International Conference on Model Driven Engineering Languages and Systems, pp. 256–265. IEEE, Ottawa, ON (2015) Oakes, B.J., Troya, J., Lúcio, L., Wimmer, M.: Fully verifying transformation contracts for declarative ATL. In: 18th ACM/IEEE International Conference on Model Driven Engineering Languages and Systems, pp. 256–265. IEEE, Ottawa, ON (2015)
34.
Zurück zum Zitat Poernomo, I.: Proofs-as-model-transformations. In: 1st International Conference on Model Transformation, pp. 214–228. Springer, Zürich, Switzerland (2008) Poernomo, I.: Proofs-as-model-transformations. In: 1st International Conference on Model Transformation, pp. 214–228. Springer, Zürich, Switzerland (2008)
35.
Zurück zum Zitat Prasad, M.R., Biere, A., Gupta, A.: A survey of recent advances in SAT-based formal verification. Int. J. Softw. Tools Technol. Transf. 7(2), 156–173 (2005)CrossRef Prasad, M.R., Biere, A., Gupta, A.: A survey of recent advances in SAT-based formal verification. Int. J. Softw. Tools Technol. Transf. 7(2), 156–173 (2005)CrossRef
36.
Zurück zum Zitat Radke, H., Arendt, T., Becker, J.S., Habel, A., Taentzer, G.: Translating essential OCL invariants to nested graph constraints focusing on set operations. In: 8th International Conference on Graph Transformation, pp. 155–170. Springer, L’Aquila, Italy (2015)CrossRef Radke, H., Arendt, T., Becker, J.S., Habel, A., Taentzer, G.: Translating essential OCL invariants to nested graph constraints focusing on set operations. In: 8th International Conference on Graph Transformation, pp. 155–170. Springer, L’Aquila, Italy (2015)CrossRef
37.
Zurück zum Zitat Roychoudhury, A., Chandra, S.: Formula-based software debugging. Commun. ACM 59, 68–77 (2016)CrossRef Roychoudhury, A., Chandra, S.: Formula-based software debugging. Commun. ACM 59, 68–77 (2016)CrossRef
38.
Zurück zum Zitat Selim, G., Wang, S., Cordy, J., Dingel, J.: Model transformations for migrating legacy models: an industrial case study. In: 8th European Conference on Modelling Foundations and Applications, pp. 90–101. Springer, Lyngby, Denmark (2012)CrossRef Selim, G., Wang, S., Cordy, J., Dingel, J.: Model transformations for migrating legacy models: an industrial case study. In: 8th European Conference on Modelling Foundations and Applications, pp. 90–101. Springer, Lyngby, Denmark (2012)CrossRef
39.
Zurück zum Zitat Steinberg, D., Budinsky, F., Merks, E., Paternostro, M.: EMF: Eclipse Modeling Framework, 2nd edn. Pearson Education, London (2008) Steinberg, D., Budinsky, F., Merks, E., Paternostro, M.: EMF: Eclipse Modeling Framework, 2nd edn. Pearson Education, London (2008)
40.
Zurück zum Zitat Tip, F.: A survey of program slicing techniques. Tech. rep., Centrum Wiskunde & Informatica (1994) Tip, F.: A survey of program slicing techniques. Tech. rep., Centrum Wiskunde & Informatica (1994)
41.
Zurück zum Zitat Tisi, M., Perez, S.M., Choura, H.: Parallel execution of ATL transformation rules. In: 16th International Conference on Model-Driven Engineering Languages and Systems, pp. 656–672. Springer, Miami, FL, USA (2013) Tisi, M., Perez, S.M., Choura, H.: Parallel execution of ATL transformation rules. In: 16th International Conference on Model-Driven Engineering Languages and Systems, pp. 656–672. Springer, Miami, FL, USA (2013)
42.
Zurück zum Zitat Wagelaar, D.: Using ATL/EMFTVM for import/export of medical data. In: 2nd Software Development Automation Conference. Amsterdam, Netherlands (2014) Wagelaar, D.: Using ATL/EMFTVM for import/export of medical data. In: 2nd Software Development Automation Conference. Amsterdam, Netherlands (2014)
43.
Zurück zum Zitat Weiser, M.: Program slicing. In: 5th International Conference on Software Engineering, pp. 439–449. IEEE, NJ, USA (1981) Weiser, M.: Program slicing. In: 5th International Conference on Software Engineering, pp. 439–449. IEEE, NJ, USA (1981)
44.
Zurück zum Zitat Wong, W.E., Gao, R., Li, Y., Abreu, R., Wotawa, F.: A survey on software fault localization. IEEE Trans. Softw. Eng. Pre-Print 99, 1–41 (2016) Wong, W.E., Gao, R., Li, Y., Abreu, R., Wotawa, F.: A survey on software fault localization. IEEE Trans. Softw. Eng. Pre-Print 99, 1–41 (2016)
Metadaten
Titel
Slicing ATL model transformations for scalable deductive verification and fault localization
verfasst von
Zheng Cheng
Massimo Tisi
Publikationsdatum
17.04.2018
Verlag
Springer Berlin Heidelberg
Erschienen in
International Journal on Software Tools for Technology Transfer / Ausgabe 6/2018
Print ISSN: 1433-2779
Elektronische ISSN: 1433-2787
DOI
https://doi.org/10.1007/s10009-018-0491-8

Weitere Artikel der Ausgabe 6/2018

International Journal on Software Tools for Technology Transfer 6/2018 Zur Ausgabe

Premium Partner