Coverage testing software architectural design in SDL

W. Eric Wong, Tatiana Sugeta, J. Jenny Li, José C. Maldonado

Research output: Contribution to journalArticlepeer-review

14 Scopus citations

Abstract

Statistical data analysis shows that early fault detection can cut cost significantly. With improved technology for automatic code generation from architectural design specifications, it becomes even more important to have, from the beginning, a highly reliable and dependable architectural design. To ensure this, we have to predict the "quality" of the system early in the development process. The use of traces or execution histories as an aid to testing and analysis is well established for programming languages like C and C++, but it is rarely applied in the field of software specification for designs. We propose a solution by applying our technology at source code level to coverage testing software designs represented in a high-level specification and description language such as SDL. Sophisticated dominator analysis is applied to provide hints on how to generate efficient test cases to increase, as much as possible with as few tests as possible, the control-flow- and data-flow-based coverage of the SDL specification being tested. We extend source code-based coverage testing to the software design specification level for specification validation. A coverage analysis tool, CATSDL, with user-friendly interfaces was developed to support our method. An illustration is provided to demonstrate the feasibility of using our method to validate the architectural design efficiently in terms of higher testing coverage and lower cost.

Original languageEnglish
Pages (from-to)359-374
Number of pages16
JournalComputer Networks
Volume42
Issue number3
DOIs
StatePublished - 21 Jun 2003

Keywords

  • Architectural design
  • CAT
  • Control-flow- and data-flow-based coverage testing
  • SDL

Fingerprint

Dive into the research topics of 'Coverage testing software architectural design in SDL'. Together they form a unique fingerprint.

Cite this