This Article 
   
 Share 
   
 Bibliographic References 
   
 Add to: 
 
Digg
Furl
Spurl
Blink
Simpy
Google
Del.icio.us
Y!MyWeb
 
 Search 
   
Improving Design Dependability by Exploiting an Open Model-Based Specification
January 1999 (vol. 48 no. 1)
pp. 24-37

Abstract—In an open system standards environment, a formal specification can be shared by all of its implementations, which results in the sharing of development cost. This paper presents a specification-based adaptive test case generation (SBATCG) method for generating validation test cases and a specification-based adaptive consistency check generation (SBACCG) method for generating on-line consistency checks for implementations developed from a model-based specification. The SBATCG (SBACCG) method first derives test cases (consistency checks) through rigorous exploration of a model-based specification, adapts the test cases (consistency checks) to the program structure of a particular implementation, and then produces test cases (consistency checks) that are particularly suitable for the implementation. Testing does not guarantee a program's freedom from faults. The results of the fault-injection experiment show that the SBACCG method can complement the SBATCG method.

[1] J. Wu and H. Li, “On Calculating Connected Dominating Sets for Efficient Routing in Ad Hoc Wireless Networks,” Proc. ACM Int'l Workshop Discrete Algorithms and Methods for Mobile Computing '99, pp. 7-14, Aug. 1999.
[2] A. Watanabe and K. Sakamura, "A Specification-Based Adaptive Test Case Generation Strategy for Open Operating System Standards," Proc. Int'l Conf. Software Eng. (ICSE-18), pp. 81-89, Mar. 1996.
[3] A. Watanabe and K. Sakamura, “Design Fault Tolerance in Operating Systems Based on a StandardizationProject,” Proc. 25th Int’l Symp. Fault-Tolerant Computing, CS Press, 1995.
[4] M.S. Jaffe, N.G. Leveson, M.P.E. Heimdahl, and B. Melhart, "Software Requirements Analysis for Real-Time Process-Control Systems," IEEE Trans. Software Engineering, vol. 17, no. 3, pp. 241-258, Mar. 1991.
[5] M.P.E. Heimdahl and N.G. Leveson, "Completeness and Consistency Analysis of State-Based Requirements, Proc. 17th Int'l Conf. Software Engineering, Apr. 1995.
[6] R. Lemos, A. Saeed, and T. Anderson, "Analyzing Safety Requirements for Process-Control Systems," IEEE Software, pp. 42-55, May 1995.
[7] J.M. Spivey, "Specifying a Real-Time Kernel," IEEE Software, pp. 21-28, Sept. 1990.
[8] B. Randell, "System Structure for Software Fault Tolerance," IEEE Trans. Software Eng., vol. 1, no. 2, pp. 220-232, June 1975.
[9] D.J. Taylor, D.E. Morgan, and J.P. Black, "Redundancy in Data Structures: Improving Software Fault Tolerance," IEEE Trans. Software Eng., vol. 6, no. 6, pp. 585-594, Nov. 1980.
[10] D.J. Taylor, D.E. Morgan, and J.P. Black, "Redundancy in Data Structures: Some Theoretical Results," IEEE Trans. Software Eng., vol. 6, no. 6, pp. 595-602, Nov. 1980.
[11] K.-H. Huang and J.A. Abraham, "Algorithm-Based Fault Tolerance for Matrix Operations," IEEE Trans. Computers, vol. 33, no. 6, pp. 518-528, June 1984.
[12] A. Avizienis, "The N-Version Approach to Fault-Tolerant Software," IEEE Trans. Software Eng., vol. 11, no. 12, pp. 1,491-1,501, Dec. 1985.
[13] G.F. Sullivan and G.M. Masson, "Using Certification Trails to Achieve Software Fault Tolerance," Digest 1990 Fault Tolerant Computing Symp., pp. 423-431, 1990.
[14] G. Deshmukh, R. Deshpande, J. Leathrum, and K. Liburdy, "The Role of Testing Methodologies in Open Systems Standards," Proc. IEEE Int'l Conf. Software Eng. (ICSE-16), pp. 233-240, May 1994.
[15] D.J. Richardson, S.L. Aha, and T.O. O'Malley, “Specification-Based Test Oracles for Reactive Systems,” Proc. Int'l Conf. Software Eng. (ICSE), pp. 105–118, May 1992.
[16] P.A. Stocks and D.A. Carrington, "Test Templates: A Specification-Based Testing Framework," Proc. IEEE Int'l Conf. Software Eng. (ICSE-15), pp. 405-414, May 1993.
[17] P. Stocks and D. Carrington, “Test Template Framework: A Specification-Based Testing Case Study,” Proc. Int'l Symp. Software Testing and Analysis (ISSTA '93), pp. 11–18, June 1993.
[18] B. Beizer, Software Testing Techniques, second ed. Boston, Mass.: Int'l Thomson Computer Press, 1990.
[19] J.B. Goodenough and S.L. Gerhart, "Toward a Theory of Test Data Selection," IEEE Trans. Software Eng., vol. 1, no. 2, pp. 156-173, June 1975.
[20] K. Sakamura, ITRON2 Specification. TRON Assoc., 1989, available via anonymous ftp fromutsun.s.u-tokyo.ac.jp:/TRON/ITRON/SPECitron2.tar.Z .
[21] K. Sakamura, μITRON 3.0: An Open and Portable Real-Time Operating System for Embedded Systems, IEEE CS Press, Los Alamitos, Calif., 1998.
[22] K. Sakamura, TRON Specification Chip Standard Assembler Specifications. TRON Assoc., 1990.
[23] K. Sakamura, "Computers as Infrastructure in the Future Society and the TRON Project," J. Information Processing Soc. of Japan, vol. 35, no. 10, pp. 895-902, Oct. 1994, in Japanese.
[24] A. Shimohara, T. Minohara, K. Kudoh, and H. Itoh, "REALOS/F32: Implementation of ITRON2 Specification on GMICROF32," TRON Project 1989, pp. 33-43, 1989.
[25] S. Yamada, K. Horikoshi, T. Shimizu, and H. Takeyama, "HI32: An ITRON-Specification Operating System for the H32/200," TRON Project 1989, pp. 77-97, 1989.
[26] H. Tsubota, O. Yamamoto, T. Shimizu, and K. Saitoh, "MR3210 Based on ITRON2 Specification Realtime OS," TRON Project 1989, pp. 17-31, 1989.
[27] A. Yokozawa, K. Fukuoka, and K. Tamaru, "Considerations of the Performance of a Real-Time OS," TRON Project 1990, pp. 25-42, 1990.
[28] J. de Kleer and B. Williams, "Diagnosing Multiple Faults," Artificial Intelligence, vol. 32, pp. 97-130, Elsevier, 1987.
[29] T. Kitahara and T. Satoh, "The GMICRO/300 32-bit Microprocessor," IEEE Micro, vol. 10, no. 3, pp. 68-75, June 1990.
[30] S. Matsui, M. Yamamoto, I. Kawasaki, S. Narita, F. Arakawa, K. Uchiyama, and K. Hashimoto, "GMICRO/500 Microprocessor: Pipeline Structure of Superscalar Architecture," Proc. IEEE Int'l Symp. TRON Project, pp. 56-62, Dec. 1992.
[31] A. Watanabe and K. Sakamura, "MLDD (Multi-Layered Design Diversity) Architecture for Achieving High Design Fault Tolerance Capabilities," Proc. First Int'l Conf. European Dependable Computing (EDCC-1), pp. 336-349, Oct. 1994.
[32] T.S. Chow, "Testing Software Design Modeled by Finite-State Machines," IEEE Trans. Software Eng., vol. 4, no. 3, pp. 178-187, May 1978.
[33] S. Fujiwara, V.G. Bochmann, F. Khendek, M. Amalou, and A. Ghedamsi, “Test Selection Based on Finite State Machine Model,” IEEE Trans. Software Eng., vol. 17, no. 6, pp. 591-603, June 1991.
[34] S. Rapps and E.J. Weyuker, “Selecting Software Test Data Using Data Flow Information,” IEEE Trans. Software Eng., vol. 11, no. 4, pp. 367–375, Apr. 1985.

Index Terms:
Software testing, software fault tolerance, specification-based testing, on-line error detection, formal specification, Z.
Citation:
Aki Watanabe Tomita, Ken Sakamura, "Improving Design Dependability by Exploiting an Open Model-Based Specification," IEEE Transactions on Computers, vol. 48, no. 1, pp. 24-37, Jan. 1999, doi:10.1109/12.743409
Usage of this product signifies your acceptance of the Terms of Use.