Skip to main content
Log in

χSuds-SDL: A Tool for Testing Software Architecture Specifications

  • Published:
Software Quality Journal Aims and scope Submit manuscript

Abstract

Available statistical data shows that the cost of repairing software faults rises dramatically in later development stages. In particular, the new technology of generating implementation code from architectural specifications requires highly reliable designs. Much research has been done at this stage using verification and validation techniques to prove correctness in terms of certain properties. A prominent approach of this category is model checking (Atlee, J.M., and Gannon, J. 1993. State-based model checking of event-driven systems requirements. IEEE Trans. Software Eng., 19(1): 24–40.) Such approaches and the approach of software testing are complementary. Testing reveals some errors that cannot be easily identified through verification, and vice versa. This paper presents the technology and the accompanying tool suite to the testing of software architecture specifications. We apply our state-of-the-art technology in software coverage testing, program diagnosis and understanding to software architectural designs. Our technology is based on both the control flow and the data flow of the executable architectural 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 design 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 (Agrawal, H., Alberti, J., Li, J.J., et al. 1998. Mining system tests to aid software maintenance, IEEE Computer July, pp. 64–73.)

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  • Agrawal, H. 1994. Dominators, super blocks, and program coverage. Conf. Rec. 21st Annual ACM SIGPLAN-SIGACT Symp. Principles of Programming Languages POPL'94, Portland, Oregon, January, pp. 25–34.

  • Agrawal, H., Alberi, J., Li, J.J., et al. 1998. Mining system tests to aid software maintenance, IEEE Comput. July, pp. 64–73.

  • Atlee, J.M., and Gannon, J. 1993. State-based model checking of event-driven system requirements, IEEE Trans. Software Eng. 19(1): 24–40.

    Article  Google Scholar 

  • Balzer, R.M. 1969. EXDAMS—extendable debugging and monitoring system. Proc. 1969 Spring Joint Comput. Conf. Montvale, NJ. AFIPS Press, pp. 567–580.

    Google Scholar 

  • Belina, F., Hogrefe, D., and Sarma, A. 1991. SDL with Applications from Protocol Specification, Prentice-Hall.

  • Brand, D., and Zafiropulo, P. 1983. On communicating finite-state machines, J. ACM 30(2): 323–342.

    Article  Google Scholar 

  • International Telegraph and Telephone Consultative Committee. 1989. SDL user guidelines. Blue Book: IXth Plenary Assembly, Melbourne, Nov. 14–25 1988, Geneva, International Telecommunication Union.

  • Kruchten, P.B. 1995. The 4 + 1 view model of architecture, IEEE Software Nov., pp. 42–50.

  • Li, J.J., and Horgan, J.R. 1998. To maintain a reliable software specification, ISSRE98, pp. 59–69.

  • Luckham, D., Kenney, J., et al. 1995. Specification and analysis of system architecture using rapide, IEEE Trans. Software Eng. 21(4): 336–355.

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Rights and permissions

Reprints and permissions

About this article

Cite this article

Li, J.J., Horgan, J.R. χSuds-SDL: A Tool for Testing Software Architecture Specifications. Software Quality Journal 8, 241–253 (1999). https://doi.org/10.1023/A:1008921903660

Download citation

  • Issue Date:

  • DOI: https://doi.org/10.1023/A:1008921903660

Navigation