The Community for Technology Leaders
RSS Icon
Subscribe
Issue No.11 - Nov. (2013 vol.39)
pp: 1549-1563
Huo Yan Chen , Jinan University, Guangzhou
T.H. Tse , The University of Hong Kong, Hong Kong
ABSTRACT
Algebraic specifications have been used in the testing of object-oriented programs and received much attention since the 1990s. It is generally believed that class-level testing based on algebraic specifications involves two independent aspects: the testing of equivalent and nonequivalent ground terms. Researchers have cited intuitive examples to illustrate the philosophy that even if an implementation satisfies all the requirements specified by the equivalence of ground terms, it may still fail to satisfy some of the requirements specified by the nonequivalence of ground terms. Thus, both the testing of equivalent ground terms and the testing of nonequivalent ground terms have been considered as significant and cannot replace each other. In this paper, we present an innovative finding that, given any canonical specification of a class with proper imports, a complete implementation satisfies all the observationally equivalent ground terms if and only if it satisfies all the observationally nonequivalent ground terms. As a result, these two aspects of software testing cover each other and can therefore replace each other. These findings provide a deeper understanding of software testing based on algebraic specifications, rendering the theory more elegant and complete. We also highlight a couple of important practical implications of our theoretical results.
INDEX TERMS
Software, Software testing, Observers, Context, Semantics, Computer science,object-oriented software, Software testing, equivalence criterion, nonequivalence criterion, algebraic specification
CITATION
Huo Yan Chen, T.H. Tse, "Equality to Equals and Unequals: A Revisit of the Equivalence and Nonequivalence Criteria in Class-Level Testing of Object-Oriented Software", IEEE Transactions on Software Engineering, vol.39, no. 11, pp. 1549-1563, Nov. 2013, doi:10.1109/TSE.2013.33
REFERENCES
[1] M. Aiguier, A. Arnould, C. Boin, P. Le Gall, and B. Marre, "Testing from Algebraic Specifications: Test Data Set Selection by Unfolding Axioms," Proc. Fifth Int'l Conf. Formal Approaches to Software Testing (FATES '05), pp. 203-217, 2006.
[2] S. Antoy and D. Hamlet, "Automatically Checking an Implementation against Its Formal Specification," IEEE Trans. Software Eng., vol. 26, no. 1, pp. 55-69, Jan. 2000.
[3] G. Bernot, "Testing against Formal Specifications: A Theoretical View," Proc. Fourth Int'l Joint CAAP/FASE Conf. Theory and Practice of Software Development (TAPSOFT '91), Part 2: Advances in Distributed Computing and Colloquium on Combining Paradigms for Software Development, pp. 99-119, 1991.
[4] G. Bernot, M.-C. Gaudel, and B. Marre, "Software Testing Based on Formal Specifications: A Theory and a Tool," Software Eng. J. vol. 6, no. 6, pp. 387-405, 1991.
[5] M. Bidoit and P.D. Mosses, CASL User Manual: Introduction to Using the Common Algebraic Specification Language CASL. Springer, 2004.
[6] P. Borba and J.A. Goguen, "An Operational Semantics for FOOPS," Proc. Int'l Workshop Information Systems: Correctness and Reusability (IS-CORE '94), 1994.
[7] L. Bougé, N. Choquet, L. Fribourg, and M.-C. Gaudel, "Test Sets Generation from Algebraic Specifications Using Logic Programming," J. Systems and Software, vol. 6, pp. 343-360, 1986.
[8] H.Y. Chen and T.H. Tse, "Automatic Generation of Normal Forms for Testing Object-Oriented Software," Proc. Ninth Int'l Conf. Quality Software (QSIC '09), pp. 108-116, 2009.
[9] H.Y. Chen, T.H. Tse, F.T. Chan, and T.Y. Chen, "In Black and White: An Integrated Approach to Class-Level Testing of Object-Oriented Programs," ACM Trans. Software Eng. and Methodology, vol. 7, no. 3, pp. 250-295, 1998.
[10] H.Y. Chen, T.H. Tse, and T.Y. Chen, "TACCLE: A Methodology for Object-Oriented Software Testing at the Class and Cluster Levels," ACM Trans. Software Eng. and Methodology, vol. 10, no. 1, pp. 56-109, 2001.
[11] H.Y. Chen, T.H. Tse, and Y.T. Deng, "ROCS: An Object-Oriented Class-Level Testing System Based on the Relevant Observable Contexts Technique," Information and Software Technology, vol. 42, no. 10, pp. 677-686, 2000.
[12] T.Y. Chen, T.H. Tse, and Y.T. Yu, "Proportional Sampling Strategy: A Compendium and Some Insights," J. Systems and Software, vol. 58, no. 1, pp. 65-81, 2001.
[13] I. Ciupa, A. Leitner, M. Oriol, and B. Meyer, "ARTOO: Adaptive Random Testing for Object-Oriented Software," Proc. 30th Int'l Conf. Software Eng. (ICSE '08), pp. 71-80, 2008.
[14] P. Dauchy, M.-C. Gaudel, and B. Marre, "Using Algebraic Specifications in Software Testing: A Case Study on the Software of an Automatic Subway," J. Systems and Software, vol. 21, no. 3, pp. 229-244, 1993.
[15] R.-K. Doong, "An Approach to Testing Object-Oriented Programs," PhD thesis, Polytechnic Univ., Brooklyn, NY, 1993.
[16] R.-K. Doong and P.G. Frankl, "The ASTOOT Approach to Testing Object-Oriented Programs," ACM Trans. Software Eng. and Methodology, vol. 3, no. 2, pp. 101-130, 1994.
[17] J.D. Gannon, P.R. McMullin, and R. Hamlet, "Data Abstraction, Implementation, Specification, and Testing," ACM Trans. Programming Languages and Systems, vol. 3, no. 3, pp. 211-223, 1981.
[18] M.-C. Gaudel, "Testing Can Be Formal, Too," Proc. Sixth Int'l Joint CAAP/FASE Conf. Theory and Practice of Software Development (TAPSOFT '95), pp. 82-96, 1995.
[19] M.-C. Gaudel and P. Le Gall, "Testing Data Types Implementations from Algebraic Specifications," Formal Methods and Testing, R.M. Hierons, J.P. Bowen, and M. Harman, eds., pp. 209-239, Springer, 2008.
[20] J.A. Goguen, C. Kirchner, H. Kirchner, A. Megrelis, and J. Meseguer, "An Introduction to OBJ3," Proc. First Workshop Conditional Term Rewriting Systems, pp. 258-263, 1988.
[21] J.A. Goguen, J.W. Thatcher, and E.G. Wagner, "An Initial Algebra Approach to the Specification, Correctness and Implementation of Abstract Data Types," Current Trends in Programming Methodology, Vol. IV: Data Structuring, R.T. Yeh, ed., pp. 80-149, Prentice Hall, 1978.
[22] J.V. Guttag and J.J. Horning, "The Algebraic Specification of Abstract Data Types," Acta Informatica, vol. 10, no. 1, pp. 27-52, 1978.
[23] R.M. Hierons, K. Bogdanov, J.P. Bowen, R. Cleaveland, J. Derrick, J. Dick, M. Gheorghe, M. Harman, K. Kapoor, P. Krause, G. Luettgen, A.J.H. Simons, S. Vilkomir, M.R. Woodward, and H. Zedan, "Using Formal Specifications to Support Testing," ACM Computing Surveys, vol. 41, no. 2,article no. 9, 2009.
[24] P. Jalote, "Specification and Testing of Abstract Data Types," Proc. Seventh Ann. Int'l Computer Software and Applications Conf. (COMPSAC '83), pp. 508-511, 1983.
[25] L. Kong, H. Zhu, and B. Zhou, "Automated Testing EJB Components Based on Algebraic Specifications," Proc. 31st Ann. Int'l Computer Software and Applications Conf. (COMPSAC '07), pp. 717-722, 2007.
[26] P. Le Gall and A. Arnould, "Formal Specifications and Test: Correctness and Oracle," Selected Papers from the 11th Workshop Specification of Abstract Data Types Joint with the Eighth COMPASS Workshop Recent Trends in Data Type Specification, pp. 342-358, 1996.
[27] P.D.L. Machado, "On Oracles for Interpreting Test Results against Algebraic Specifications," Proc. Seventh Int'l Conf. Algebraic Methodology and Software Technology (AMAST '98), pp. 502-518, 1998.
[28] P.D.L. Machado, "Testing from Structured Algebraic Specifications," Proc. Ninth Int'l Conf. Algebraic Methodology and Software Technology (AMAST '00), pp. 529-544, 2000.
[29] P.D.L. Machado and D. Sannella, "Unit Testing for CASL Architectural Specifications," Proc. 27th Int'l Symp. Math. Foundations of Computer Science, pp. 506-518, 2002.
[30] E.J. Weyuker, "Axiomatizing Software Test Data Adequacy," IEEE Trans. Software Eng., vol. 12, no. 12, pp. 1128-1138, Dec. 1986.
[31] B. Yu, L. Kong, Y. Zhang, and H. Zhu, "Testing Java Components Based on Algebraic Specifications," Proc. First Int'l Conf. Software Testing, Verification, and Validation (ICST '08), pp. 190-199, 2008.
[32] H. Zhu, "A Note on Test Oracles and Semantics of Algebraic Specifications," Proc. Third Int'l Conf. Quality Software (QSIC '03), pp. 91-98, 2003.
[33] S.N. Zilles, "Algebraic Specification of Data Types," Project MAC Progress Report 11, MIT, 1974.
43 ms
(Ver 2.0)

Marketing Automation Platform Marketing Automation Tool