• DocumentCode
    1494103
  • Title

    A Theoretical and Empirical Analysis of the Role of Test Sequence Length in Software Testing for Structural Coverage

  • Author

    Arcuri, Andrea

  • Author_Institution
    Simula Res. Lab., Lysaker, Norway
  • Volume
    38
  • Issue
    3
  • fYear
    2012
  • Firstpage
    497
  • Lastpage
    519
  • Abstract
    In the presence of an internal state, often a sequence of function calls is required to test software. In fact, to cover a particular branch of the code, a sequence of previous function calls might be required to put the internal state in the appropriate configuration. Internal states are not only present in object-oriented software, but also in procedural software (e.g., static variables in C programs). In the literature, there are many techniques to test this type of software. However, to the best of our knowledge, the properties related to the choice of the length of these sequences have received only a little attention in the literature. In this paper, we analyze the role that the length plays in software testing, in particular branch coverage. We show that, on “difficult” software testing benchmarks, longer test sequences make their testing trivial. Hence, we argue that the choice of the length of the test sequences is very important in software testing. Theoretical analyses and empirical studies on widely used benchmarks and on an industrial software are carried out to support our claims.
  • Keywords
    C language; object-oriented programming; program testing; C programs; empirical analysis; function calls; internal state; object-oriented software; procedural software; software testing; static variables; structural coverage; test sequence length; test sequences; theoretical analysis; Algorithm design and analysis; Containers; Search problems; Software; Software algorithms; Software testing; Evolutionary testing; length; object-oriented software; search-based software engineering; software testing; state problem; test sequence.;
  • fLanguage
    English
  • Journal_Title
    Software Engineering, IEEE Transactions on
  • Publisher
    ieee
  • ISSN
    0098-5589
  • Type

    jour

  • DOI
    10.1109/TSE.2011.44
  • Filename
    5750005