Using Models of Partial Knowledge to Test Model Transformations

  • Sagar Sen
  • Jean-Marie Mottu
  • Massimo Tisi
  • Jordi Cabot
Part of the Lecture Notes in Computer Science book series (LNCS, volume 7307)

Abstract

Testers often use partial knowledge to build test models. This knowledge comes from sources such as requirements, known faults, existing inputs, and execution traces. In Model-Driven Engineering, test inputs are models executed by model transformations. Modelers build them using partial knowledge while meticulously satisfying several well-formedness rules imposed by the modelling language. This manual process is tedious and language constraints can force users to create complex models even for representing simple knowledge. In this paper, we want to simplify the development of test models by presenting an integrated methodology and semi-automated tool that allow users to build only small partial test models directly representing their testing intent. We argue that partial models are more readable and maintainable and can be automatically completed to full input models while considering language constraints. We validate this approach by evaluating the size and fault-detecting effectiveness of partial models compared to traditionally-built test models. We show that they can detect the same bugs/faults with a greatly reduced development effort.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Anastasakis, K., Bordbar, B., Georg, G., Ray, I.: UML2Alloy: A Challenging Model Transformation. In: Engels, G., Opdyke, B., Schmidt, D.C., Weil, F. (eds.) MODELS 2007. LNCS, vol. 4735, pp. 436–450. Springer, Heidelberg (2007)CrossRefGoogle Scholar
  2. 2.
    Anastasakis, K., Bordbar, B., Georg, G., Ray, I.: On Challenges of Model Transformation from UML to Alloy. Software and Systems Modeling 9(1), 69–86 (2008); Special Issue on MoDELS 2007CrossRefGoogle Scholar
  3. 3.
    Aranega, V., Mottu, J.-M., Etien, A., Dekeyser, J.-L.: Traceability mechanism for error localization in model transformationGoogle Scholar
  4. 4.
    Bardohl, R., Taentzer, G., Minas, M., Schurr, A.: Handbook of Graph Grammars and Computing by Graph transformation, vII: Applications, Languages and Tools. World Scientific (1999)Google Scholar
  5. 5.
    Baudry, B., Ghosh, S., Fleurey, F., France, R., Le Traon, Y., Mottu, J.-M.: Barriers to Systematic Model Transformation Testing. Communications of the ACM 53(6) (2010)Google Scholar
  6. 6.
    Bézivin, J., Schürr, A., Tratt, L.: Model Transformations in Practice Workshop. In: Bruel, J.-M. (ed.) MODELS 2005. LNCS, vol. 3844, pp. 120–127. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  7. 7.
    Blouin, A., Combemale, B., Baudry, B., Beaudoux, O.: Modeling Model Slicers. In: Whittle, J., Clark, T., Kühne, T. (eds.) MODELS 2011. LNCS, vol. 6981, pp. 62–76. Springer, Heidelberg (2011)CrossRefGoogle Scholar
  8. 8.
    Boyapati, C., Khurshid, S., Marinov, D.: Korat: automated testing based on java predicates. In: Proceedings of the 2002 ACM SIGSOFT International Symposium on Software Testing and Analysis (2002)Google Scholar
  9. 9.
    Brottier, E., Fleurey, F., Steel, J., Baudry, B., Traon, Y.L.: Metamodel-based test generation for model transformations: an algorithm and a tool. In: Proceedings of ISSRE 2006, Raleigh, NC, USA (2006)Google Scholar
  10. 10.
    Budinsky, F.: Eclipse Modeling Framework. The Eclipse Series. Addison-Wesley (2004)Google Scholar
  11. 11.
    DeMillo, R., Lipton, R., Sayward, F.: Hints on test data selection: Help for the practicing programmer. IEEE Computer 11(4), 34–41 (1978)CrossRefGoogle Scholar
  12. 12.
    Dhoolia, P., Mani, S., Sinha, V.S., Sinha, S.: Debugging Model-Transformation Failures Using Dynamic Tainting. In: D’Hondt, T. (ed.) ECOOP 2010. LNCS, vol. 6183, pp. 26–51. Springer, Heidelberg (2010)CrossRefGoogle Scholar
  13. 13.
    Ehrig, K., Küster, J.M., Taentzer, G., Winkelmann, J.: Generating Instance Models from Meta Models. In: Gorrieri, R., Wehrheim, H. (eds.) FMOODS 2006. LNCS, vol. 4037, pp. 156–170. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  14. 14.
    Fleurey, F., Baudry, B., Muller, P.-A., Traon, Y.L.: Towards dependable model transformations: Qualifying input test data. Software and Systems Modelling (2007) (accepted)Google Scholar
  15. 15.
    Jackson, D.: (2008), http://alloy.mit.edu
  16. 16.
    Jeanneret, C., Glinz, M., Baudry, B.: Estimating footprints of model operations. In: International Conference on Software Engineering (ICSE 2011), Honolulu, USA. IEEE (May 2011)Google Scholar
  17. 17.
    Jouault, F., Kurtev, I.: On the Architectural Alignment of ATL and QVT. In: Proceedings of ACM Symposium on Applied Computing (SAC 2006), Dijon, FRA (April 2006)Google Scholar
  18. 18.
    Hennessy, M., Power, J.: An analysis of rule coverage as a criterion in generating minimal test suites for grammar-based software. In: Proc. of the 20th IEEE/ACM ASE, NY, USA (2005)Google Scholar
  19. 19.
    Mahajan, Y.S., Fu, Z., Malik, S.: Zchaff2004: An Efficient SAT Solver. In: Hoos, H.H., Mitchell, D.G. (eds.) SAT 2004. LNCS, vol. 3542, pp. 360–375. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  20. 20.
    Famelis, M., Ben-David, S., Chechik, M., Salay, R.: Partial models: A position paper. In: MoDeVVa Workshop (co-located with MODELS 2011) (2011)Google Scholar
  21. 21.
    Mottu, J.-M., Baudry, B., Traon, Y.L.: Mutation analysis testing for model transformations. In: Proceedings of ECMDA 2006, Bilbao, Spain (July 2006)Google Scholar
  22. 22.
    Muller, P.-A., Fleurey, F., Jézéquel, J.-M.: Weaving Executability into Object-Oriented Meta-languages. In: Briand, L.C., Williams, C. (eds.) MODELS 2005. LNCS, vol. 3713, pp. 264–278. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  23. 23.
    OMG. The Object Constraint Language Specification 2.0, OMG: ad/03-01-07 (2007)Google Scholar
  24. 24.
    Ramos, R., Barais, O., Jézéquel, J.-M.: Matching Model-Snippets. In: Engels, G., Opdyke, B., Schmidt, D.C., Weil, F. (eds.) MODELS 2007. LNCS, vol. 4735, pp. 121–135. Springer, Heidelberg (2007)CrossRefGoogle Scholar
  25. 25.
    Sen, S.: Partial model completion tool (2011), https://sites.google.com/site/partialmodeltool/
  26. 26.
    Sen, S., Baudry, B., Mottu, J.-M.: On combining multi-formalism knowledge to select test models for model transformation testing. In: IEEE International Conference on Software Testing, Lillehammer, Norway (April 2008)Google Scholar
  27. 27.
    Sen, S., Baudry, B., Precup, D.: Partial model completion in model driven engineering using constraint logic programming. In: International Conference on the Applications of Declarative Programming (2007)Google Scholar
  28. 28.
    Sen, S., Baudry, B., Vangheluwe, H.: Towards Domain-specific Model Editors with Automatic Model Completion. SIMULATION 86(2), 109–126 (2010)CrossRefGoogle Scholar
  29. 29.
    Torlak, E., Jackson, D.: Kodkod: A relational model finder. In: Tools and Algorithms for Construction and Analysis of Systems, Braga, Portugal (March 2007)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2012

Authors and Affiliations

  • Sagar Sen
    • 1
  • Jean-Marie Mottu
    • 2
  • Massimo Tisi
    • 1
  • Jordi Cabot
    • 1
  1. 1.AtlanModÉcole des Mines de Nantes - INRIAFrance
  2. 2.(UMR CNRS 6241)Université de Nantes - LINAFrance

Personalised recommendations