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.)
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.
Balzer, R.M. 1969. EXDAMS—extendable debugging and monitoring system. Proc. 1969 Spring Joint Comput. Conf. Montvale, NJ. AFIPS Press, pp. 567–580.
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.
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.
Author information
Authors and Affiliations
Rights 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
Issue Date:
DOI: https://doi.org/10.1023/A:1008921903660