Advertisement

Formal Aspects of Computing

, Volume 27, Issue 4, pp 641–664 | Cite as

A compositional automata-based semantics and preserving transformation rules for testing property patterns

  • Safouan TahaEmail author
  • Jacques Julliand
  • Frédéric Dadeau
  • Kalou Cabrera Castillos
  • Bilal Kanso
Article

Abstract

Dwyer et al. provide a language to specify dynamic properties based on a limited number of predefined patterns and scopes. The semantics of these properties is defined by translating each combination of a pattern and a scope into usual temporal logics (linear temporal logic, CTL, etc.). This translational semantics suffers from two main issues. It is not easily extensible to other patterns or scopes, and it is not always faithful to the natural semantics. In this article, we propose a compositional automata-based approach defining the semantics of each pattern and each scope by an automaton, after which the semantics is composed. Hence, the semantics is compositional and the language is easily extensible. We compare the two semantics by model checking. In some cases, our semantics reveals a lack of homogeneity within Dwyer et al.’s semantics. Finally, we apply this approach in the context of property-based testing, in order to evaluate the quality of a test suite, by measuring the coverage of the property automaton. To allow the tester to adapt the coverage criteria to its goals, we propose transformation rules over the patterns automata that implement relevant unfolding strategies for loops, or predicates labeling the automata transitions. We illustrate these principles by means of an industrial case study.

Keywords

Formal methods Temporal properties Compositional automata semantics Temporal logics Property patterns Testing transformation 

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Abr96.
    Abrial JR (1996) The B-book: assigning programs to meanings. Cambridge University Press, New YorkGoogle Scholar
  2. Ber12.
    Bernet J (2012) Tasccc project—deliverable 5.5—report on the industrial use of the tasccc process. http://lifc.univ-fcomte.fr/TASCCC
  3. CCDJ+13.
    Cabrera Castillos K, Dadeau F, Julliand J, Kanso B, Taha S (2013) A compositional automata-based semantics for property patterns. In: Johnsen EB, Petre L (eds) IFM’13, 10th international conference on integrated formal methods, vol 7940 of LNCS. Springer, Turku, pp 316–330Google Scholar
  4. CCDJT11.
    Cabrera Castillos K, Dadeau F, Julliand J, Taha S (2011) Measuring test properties coverage for evaluating UML/OCL model-based tests. In: Wolff B, Zaidi F (eds) ICTSS’11, 23-th IFIP int. conf. on testing software and systems, vol 7019 of LNCS. Springer, Paris, pp 32–47Google Scholar
  5. DAA+.
    Dwyer MB, Alavi H, Avrunin G, Corbett J, Dillon L, Pasareanu C Specification patterns. http://patterns.projects.cis.ksu.edu/. Accessed 15 Sept 2011
  6. DAC98.
    Dwyer MB, Avrunin GS, Corbett JC (1998) Property specification patterns for finite-state verification. In: FMSP’98, second workshop on formal methods in software practice, pp 7–15Google Scholar
  7. DAC99.
    Dwyer MB, Avrunin GS, Corbett JC (1999) Patterns in property specifications for finite-state verification. In: ICSE’99, 21st international conference on software engineering, pp 411–420Google Scholar
  8. DCL+13.
    Dadeau F, Castillos KC, Ledru Y, Triki T, Vega G, Botella J, Taha S (2013) Test generation and evaluation from high-level properties for common criteria evaluations—the tasccc testing tool. In: ICST’13, IEEE sixth international conference on software testing, verification and validation, pp 431–438Google Scholar
  9. DL13.
    Duret-Lutz A (2013) Manipulating LTL formulas using Spot 1.0. In: ATVA’13, 11th international symposium on automated technology for verification and analysis, vol 8172 of LNCS. Springer, Hanoi, pp 442–445Google Scholar
  10. GO01.
    Gastin P, Oddoux D (2001) Fast LTL to Büchi automata translation. In: Berry G, Comon H, Finkel A (eds) CAV’01, 13th international conference computer aided verification, vol 2102 of LNCS. Springer, Paris, pp 53–65Google Scholar
  11. GP11.
    Globalplatform card specification 2.2.1. http://www.globalplatform.org. Jan 2011
  12. GPVW96.
    Gerth R, Peled D, Vardi MY, Wolper P (1996) Simple on-the-fly automatic verification of linear temporal logic. In: ISPSTV’96, fifteenth IFIP WG6.1 international symposium on protocol specification, testing and verification XV. Chapman & Hall Ltd, London, pp 3–18Google Scholar
  13. GRLS08.
    Gorbovitski M, Rothamel T, Liu YA, Stoller SD (2008) Efficient runtime invariant checking: a framework and case study. In: WODA’08, international workshop on dynamic analysis. Held in conjunction with the ACM SIGSOFT international symposium on software testing and analysis (ISSTA’08). ACM, New York, pp 43–49Google Scholar
  14. GS96.
    Graf S, Saïdi H (1996) Verifying invariants using theorem proving. In: Alur R, Henzinger T (eds) CAV’96, computer aided verification, vol 1102 of LNCS. Springer, Berlin, pp 196–207Google Scholar
  15. JH11.
    Jia Y, Harman M (2011) An analysis and survey of the development of mutation testing. IEEE Trans Soft Eng 37(5): 649–678CrossRefGoogle Scholar
  16. Mar03.
    Markey N (2003) Temporal logic with past is exponentially more succinct, concurrency column. Bull EATCS 79:122–128Google Scholar
  17. Mye79.
    Myers GJ (1979) Art of software testing. Wiley, New YorkGoogle Scholar
  18. Rou12.
    Rouillard D (2012) Tasccc project—deliverable 5.4—report on the integration of the ate requirements. http://lifc.univ-fcomte.fr/TASCCC. Accessed 10 Nov 2013
  19. SVW87.
    Sistla AP, Vardi MY, Wolper P (1987) The complementation problem for Büchi automata with applications to temporal logic. Theor Comput Sci 49(2–3): 217–237CrossRefzbMATHMathSciNetGoogle Scholar
  20. Tah.
    Taha S OCL temporal extension. http://www.di.supelec.fr/taha/temporalocl/. Accessed 7 Aug 2012
  21. Yih.
    Tsay YK et al Graphical tool for omega-automata and logics. http://goal.im.ntu.edu.tw/wiki/doku.php. Accessed 24 Oct 2013
  22. UL07.
    Utting M, Legeard B (2007) Practical model-based testing—a tools approach. Morgan Kaufmann, San FranciscoGoogle Scholar

Copyright information

© British Computer Society 2014

Authors and Affiliations

  • Safouan Taha
    • 1
    Email author
  • Jacques Julliand
    • 2
  • Frédéric Dadeau
    • 2
  • Kalou Cabrera Castillos
    • 2
  • Bilal Kanso
    • 1
  1. 1.Computer Science DepartmentSUPELEC Systems Sciences (E3S)Gif-sur-Yvette CedexFrance
  2. 2.FEMTO-ST/DISC-INRIA CASSIS ProjectBesançon CedexFrance

Personalised recommendations