Conference Paper

A Tool Suite for Diagnosis and Testing of Software Design Specifications.

Telcordia Technol., Morristown, NJ
DOI: 10.1109/ICDSN.2000.857553 Conference: 2000 International Conference on Dependable Systems and Networks (DSN 2000) (formerly FTCS-30 and DCCA-8), 25-28 June 2000, New York, NY, USA
Source: DBLP

ABSTRACT Available statistical data shows that the cost of finding and
repairing software rises dramatically in later development stages. Much
research has been done using verification and validation techniques to
prove correctness in terms of certain properties. Such approaches and
the approach of software testing are complementary. Testing reveals some
errors that cannot be easily identified through verification, and vice
versa. The new technology of generating implementation code from design
specifications if based on highly reliable designs is another approach
to reliable software. This paper presents a dynamic slicing technology
and an accompanying tool suite for understanding, diagnosis and testing
of software design specifications. We apply state-of-the-art technology
in coverage testing, diagnosis and understanding of software source code
to those of software designs. We use a simulation of the specifications
to collect the execution trace for computing the coverage and slicing
data. Our technology first generates a flow diagram from a specification
and then automatically analyses the coverage features of the diagram. It
collects the corresponding flow data during simulation to be mapped to
the flow diagram. The coverage information for the original
specification is then obtained from the coverage information of the flow
diagram. This technology has been used for C, C++, and Java, and has
proven effective

  • [Show abstract] [Hide abstract]
    ABSTRACT: The previous published paper on the topic of CodeCover highlights the strengths of CodeCover and discusses the versatility of the tool for various coverage testing needs. In this paper we are highlighting a portion of work done as part of a study project. This paper talks about the minimal efforts needed to tweak the product for specific needs. The existing, well structured code base of CodeCover can be reused as a library for implementing the work to be carried out. The impact to the lower layer of the product is minimal and at times nil for implementing the intended task because of the well laid design. In this paper we talk about how the CodeCover can be used to prioritize the test cases for uncovered branches of the code under test for a given session of testing.
    ACM SIGSOFT Software Engineering Notes 02/2014; 39(1):1-4.
  • Source
    [Show abstract] [Hide abstract]
    ABSTRACT: Software metrics can provide an automated way for software practitioners to assess the quality of their software. The earlier in the software development lifecycle this information is available, the more valuable it is, since changes are much more expensive to make later in the lifecycle.Semantic metrics, introduced by Etzkorn and Delugach, assess software according to the meaning of the software's functionality in its domain. This is in contrast to traditional metrics, which use syntax measures to assess code. Because semantic metrics do not rely on the syntax or structure of code, they can be computed from requirements or design specifications before the system has been implemented. This paper focuses on using semantic metrics to assess systems that have not yet been implemented.
    Proceedings of the 42nd Annual Southeast Regional Conference, 2004, Huntsville, Alabama, USA, April 2-3, 2004; 01/2004
  • [Show abstract] [Hide abstract]
    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.
    Computer Networks 01/2003; · 1.23 Impact Factor