?SUDS-SDL: A Tool for Diagnosis and Understanding Software Specifications

  • Authors:
  • J. Jenny Li;J. Robert Horgan

  • Affiliations:
  • -;-

  • Venue:
  • APSEC '99 Proceedings of the Sixth Asia Pacific Software Engineering Conference
  • Year:
  • 1999

Quantified Score

Hi-index 0.01

Visualization

Abstract

Available statistical data shows that the cost of repairing software faults rises dramatically in later development stages. It is important to reduce software faults in the early stages of software development, such as requirement and design specification. In particular, the new technology of generating implementation code from specification requires highly reliable design specifications. Much research has been done on verification and validation, such as model checking [1].We believe such approaches are similar to software testing. We apply our state-of-the-art technology in software coverage testing, program diagnosis and understanding to stages as early as software requirements and designs. Early analysis provides many benefits, including 1) early detection and recovery of software faults, 2) visualization and simulation of the software specifications, 3) improvement of the confidence on the specification, 4) making programming on the specification level more possible, and 5) reduction of the number of introduced faults.This paper presents the technology and the accompanying tool suite to the diagnosis and understanding of software specifications. We use the simulation of the specifications to collect the execution trace for computing the coverage and slicing data. Our technology is based on both the control flow and the data flow of the executable specifications. It first generates a program flow diagram from the specification and then automatically analyses the coverage features of the diagram. It collects the corresponding flow data during the simulation time 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 [2].We have obtained concrete examples of the software specifications in Specification and Description Language (SDL) [3]. We developed a tool that is in the final stage of testing. The tool is able to aid the debugging, testing, diagnosis, understanding, and feature allocation of the SDL specifications. We have an early demonstration of the tool to illustrate its usage and its advantages over other tools in the area.