ACM Home Page
Please provide us with feedback. Feedback
Using formal specifications to support testing
Full text PdfPdf (729 KB)
Source
ACM Computing Surveys (CSUR) archive
Volume 41 ,  Issue 2  (February 2009) table of contents
Article No. 9  
Year of Publication: 2009
ISSN:0360-0300
Authors
Robert M. Hierons  Brunel University, Middlesex, U.K.
Kirill Bogdanov  University of Sheffield, Sheffield, U.K.
Jonathan P. Bowen  King's College London, London, U.K.
Rance Cleaveland  University of Maryland, College Park, MD
John Derrick  University of Sheffield, Sheffield, U.K.
Jeremy Dick  integrate systems engineering ltd., Bath, U.K.
Marian Gheorghe  University of Sheffield, Sheffield, U.K.
Mark Harman  King's College London, London, U.K.
Kalpesh Kapoor  Indian Institute of Technology Guwahati, Guwahati, India
Paul Krause  University of Surrey, Surrey, U.K.
Gerald Lüttgen  University of York, York, U.K.
Anthony J. H. Simons  University of Sheffield, Sheffield, U.K.
Sergiy Vilkomir  University of Tennessee, Greenville, NC
Martin R. Woodward  (Deceased)
Hussein Zedan  De Montfort University, Leicester, U.K.
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 198,   Downloads (12 Months): 1697,   Citation Count: 0
Additional Information:

abstract   references   index terms   collaborative colleagues  

Tools and Actions: Request Permissions Request Permissions    Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/1459352.1459354
What is a DOI?

ABSTRACT

Formal methods and testing are two important approaches that assist in the development of high-quality software. While traditionally these approaches have been seen as rivals, in recent years a new consensus has developed in which they are seen as complementary. This article reviews the state of the art regarding ways in which the presence of a formal specification can be used to assist testing.


REFERENCES

Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.

 
1
 
2
 
3
Aho, A. V., Dahbura, A. T., Lee, D., and Uyar, M. U. 1988. An optimization technique for protocol conformance test generation based on UIO sequences and Rural Chinese Postman Tours. In Protocol Specification, Testing, and Verification VIII. Elsevier (North-Holland), Amsterdam, The Netherlands, 75--86.
 
4
 
5
Aichernig, B. K. 2000. Formal specification techniques as a catalyst in validation. In Proceedings of the 5th IEEE High Assurance Systems Engineering Symposium (HASE, Albuquerque, NM). 203--207.
 
6
Aichernig, B. K. 2001a. Systematic black-box testing of computer based systems through formal abstraction techniques. Ph.D. dissertation, Graz University of Technology, Graz, Austria.
 
7
 
8
 
9
Allen, S. P. and Woodward, M. R. 1996. Assessing the quality of specification-based testing. In Proceedings of the 3rd International Conference on Achieving Quality in Software. Chapman and Hall, London, U.K., 341--354.
 
10
 
11
 
12
 
13
 
14
 
15
Ambert, F., Bouquet, F., Chemin, S., Guenaud, S., Legeard, B., Peureux, F., Utting, M., and Vacelet, N. 2002. BZ-testing-tools: A tool-set for test generation from Z and B using constraint logic programming. In Formal Approaches to Testing Software (FATES 2002). INRIA, Brno, Czech Republic, 105--120.
 
16
Amla, N. and Ammann, P. 1992. Using Z specifications in category partition testing. In COMPASS '92, Proceedings of the 7th Annual Conference on Computer Assurance (Gaithersburg, MD). 15--18.
 
17
 
18
Ammann, P. and Offutt, J. 1994. Using formal methods to derive test frames in category-partition testing. In Proceedings of the 9th Annual Conference on Computer Assurance (COMPASS, Gaithersburg, MD). 69--80.
 
19
Ammann, P. E. and Black, P. E. 2000. Test generation and recognition with formal methods. In Proceedings of the International Workshop on Automated Program Analysis, Testing and Verification (Limerick, Ireland). 64--67.
 
20
 
21
 
22
Antsaklis, P. J., Kohn, W., Lemmon, M., Nerode, A., and Sastry, S. 1999. Hybrid Systems. Lecture Notes in Computer Science, vol. 1567. Springer-Verlag.
 
23
 
24
Atterer, R. 2000. Automatic test data generation from VDM-SL specifications. M.S. thesis. Queen's University of Belfast, Northern Ireland, U.K.
 
25
Balanescu, T., Cowling, T., Georgescu, H., Gheorghe, M., Holcombe, M., and Vertan, C. 1999. Communicating stream X-machines systems are no more than X-machines. J. Univers. Comput. Sci. 5, 494--507.
 
26
 
27
Barnett, M., Grieskamp, W., Nachmanson, L., Schulte, W., Tillmann, N., and Veanes, M. 2003. Towards a tool environment for model--based testing with ASML. In Formal Approaches to Testing. Lecture Notes in Computer Science, vol. 2931. Springer-Verlag, Berlin, Germany, 252--266.
 
28
 
29
30
 
31
 
32
 
33
 
34
 
35
Bogdanov, K. 2000. Automated testing of Harel's Statecharts. Ph.D. dissertation, The University of Sheffield, Sheffield, U.K.
 
36
 
37
 
38
Bradfield, J. and Stirling, C. 2001. Modal logics and mu-calculi: An introduction. In Handbook of Process Algebra. Elsevier Science, Amsterdam, The Netherlands, 293--330.
 
39
Brinksma, E. 1988. A theory for the derivation of tests. In Protocol Specification, Testing, and Verification VIII. North-Holland, Amsterdam, The Netherlands, 63--74.
 
40
Brinksma, E., Heerink, L., and Tretmans, J. 1997. Developments in testing transition systems. In IFIP TC6 10th International Workshop on Testing of Communicating Systems. Kluwer, Dordrecht, The Netherlands, 143--166.
 
41
 
42
 
43
 
44
Burton, S. 2002. Automated testing from specifications. Ph.D. dissertation. The University of York, York, U.K.
 
45
Callahan, J., Schneider, F., and Easterbrook, S. 1996. Automated software testing using model-checking. In SPIN '96. Rutgers University, Brunswick, NJ, 118--127.
 
46
Cardell-Oliver, R. 2000. Conformance tests for real-time systems with timed automata specifications. Form. Aspects Comput. 12, 5, 350--371.
 
47
Carrington, D. A. and Stocks, P. A. 1994. A tale of two paradigms: Formal methods and software testing. In Z User Workshop, Cambridge 1994, J. P. Bowen and J. A. Hall, Eds. Workshops in Computing. Springer-Verlag, Berlin, Germany, 51--68.
 
48
 
49
 
50
 
51
Chang, J. and Richardson, D. 1994. Static and dynamic specification slicing. In Proceedings of the 4th Irvine Software Symposium (Irvine, CA).
52
53
 
54
Chen, H. Y., Tse, T. H., and Deng, Y. T. 2000. ROCS: An object-oriented class-level testing system based on the relevant observable contexts technique. Inform. Softw. Technol. 42, 10, 677--686.
 
55
Choquet, N. 1986. Test data generation using a prolog with constraints. In Proceedings of the Workshop on Software Testing. IEEE Computer Society Press, Los Alamitos, CA, 132--141.
 
56
 
57
Ciancarini, P., Cimato, S., and Mascolo, C. 1996. Engineering formal requirements: Analysis and testing. In Proceedings of the 8th International Conference on Software Engineering and Knowledge Engineering (SEKE, Lake Tahoe, CA). 385--392.
 
58
 
59
60
 
61
62
 
63
 
64
Cleaveland, R., Li, T., and Sims, S. 2000. The Concurrency Workbench of the New Century. SUNY, Stony Brook, NY.
65
 
66
Craggs, I., Sardis, M., and Heuillard, T. 2003. AGEDIS case studies: Model-based testing in industry. In Proceedings of the 1st European Conference on Model-Driven Software Engineering. 106--117.
 
67
 
68
 
69
 
70
de Vries, R. G. and Tretmans, J. 2000. On-the-fly conformance testing using Spin. Softw. Tools Technol. Transf. 2, 4 (Mar.), 382--393.
71
 
72
Derrick, J. and Boiten, E. 1999. Testing refinements of state-based formal specifications. Softw. Test. Verif. Reliab. 9, 27--50.
 
73
 
74
75
76
 
77
 
78
 
79
Eisner, C. 2005. Formal verification of software source code through semi-automatic modeling. Softw. Syst. Model. 4, 1, 14--31.
 
80
El-Far, I. K., Thompson, H. H., and Mottay, F. E. 2001. Experiences in testing pocket PS applications. In Proceedings of the International Internet & Software Quality Week Europe Conference.
 
81
 
82
 
83
 
84
 
85
 
86
Farchi, E., Hartman, A., and Pinter, S. 2002. Using a model-based test generator to test for standard conformance. IBM Syst. J. 41, 1, 89--110.
 
87
 
88
89
 
90
 
91
Formal Systems (Europe) Ltd. 1997. Failures-Divergence Refinement: FDR2 User Manual. Formal Systems (Europe) Ltd. Oxford, U.K.
 
92
Frantzen, L., Tretmans, J., and Willemse, T. A. C. 2004. Test generation based on symbolic specifications. In Proceedings of the Formal Approaches to Software Testing, 4th International Workshop (FATES) Linz, Austria), 1--15.
 
93
94
 
95
96
 
97
 
98
 
99
Gaudel, M.-C. and James, P. R. 1998. Testing algebraic data types and processes: a unifying theory. Form. Aspect. Comput. 10, 5--6, 436--451.
 
100
 
101
Gill, A. 1962. Introduction to the Theory of Finite-State Machines. McGraw-Hill, New York, NY.
 
102
Girard, A. R., Spry, S., and Hedrick, J. K. 2005. Real-time embedded hybrid control software for intelligent cruise control applications. IEEE Robot. Automat. Mag. 12, 1, 22--28.
 
103
104
 
105
 
106
Goguen, J. A. and Malcolm, G. 2000. Software Engineering with OBJ: Algebraic Specifications in Action. Kluwer Academic Publishers, Dordrecht, The Netherlands.
 
107
Goguen, J. A. and Tardo, J. J. 1979. An introduction to OBJ: A language for writing and testing formal algebraic specifications. In Proceedings of the IEEE Conference on Specifications of Reliable Software. IEEE Computer Society Press, Los Alamitos, CA, 170--189.
 
108
 
109
Goodenough, J. B. and Gerhart, S. L. 1975. Toward a theory of test data selection. IEEE Trans. Softw. Eng. 1, 2, 156--173.
110
111
 
112
 
113
 
114
 
115
Hall, P. A. V. 1988. Towards testing with respect to formal specification. In Proceedings of the 2nd IEE/BCS Conference on Software Engineering. 159--163.
116
 
117
Harder, M. 2002. Improving test suites via generated specifications. Tech. rep. 848. Department of EECS. Cambridge, MA.
 
118
 
119
 
120
Havelund, K. and Pressburger, T. 1998. Model checking Java programs using Java PathFinder. Softw. Tools Technol. Transf. 2, 4, 366--381.
 
121
 
122
 
123
 
124
 
125
Henzinger, T., Jhala, R., Majumdar, R., and Sutre, G. 2003. Software verification with Blast. In SPIN 2003. Lecture Notes in Computer Science, vol. 2648. Springer-Verlag, Berlin, Germany, 235--239.
 
126
 
127
Hierons, R. M. 1997a. Testing from a finite state machine: Extending invertibility to sequences. Comput. J. 40, 4, 220--230.
 
128
Hierons, R. M. 1997b. Testing from a Z specification. Softw. Test. Verif. Reliab. 7, 1, 19--33.
 
129
Hierons, R. M. 2001. Checking states and transitions of a set of communicating finite state machines. Microproc. Microsyst. (Special Issue on Testing and Testing Techniques for Real-Time Embedded Software Systems) 24, 9, 443--452.
130
 
131
 
132
 
133
Hierons, R. M. and Harman, M. 2000. Testing comformance to a quasi-non-determinstic stream X-machine. Form. Aspects Comput. 12, 6, 423--442.
 
134
 
135
 
136
Hierons, R. M., Sadeghipour, S., and Singh, H. 2001. Testing a system specified using Statecharts and Z. Inform. Softw. Technol. 43, 2, 137--149.
 
137
 
138
 
139
 
140
Holcombe, M. and Ipate, F. 1998. Correct Systems: Building a Business Process Solution. Springer-Verlag, Berlin, Germany.
 
141
142
 
143
Holzmann, G. J. and Smith, M. H. 2001. Software model checking: Extracting verification models from source code. Softw. Test. Verif. Reliab. 11, 2, 65--79.
 
144
 
145
 
146
Hong, H. S., Lee, I., Sokolsky, O., and Cha, S. D. 2001. Automatic test generation from Statecharts using model checking. In FATES '01. BRICS Notes Series, vol. NS-01-4. BRICS, Aarhus, Denmark, 15--30.
 
147
Hörcher, H.-M. and Peleska, J. 1995. Using formal specifications to support software testing. Softw. Qual. J. 4, 4, 309--327.
 
148
 
149
 
150
151
 
152
 
153
Ipate, F. and Holcombe, M. 1997. An integration testing method that is proved to find all faults. Int. J. Comput. Math. 63, 3&4, 159--178.
 
154
Ipate, F. and Holcombe, M. 2000. Generating test sets from non-deterministic stream X-machines. Form. Aspects Comput. 12, 6, 443--458.
 
155
ISO. 1989a. ISO 8807:1989 Information Processing Systems, Open Systems Interconnection—LOTOS—A Formal Description Technique Based on the Temporal Ordering of Observational Behaviour. ISO, Geneva, Switzerland.
 
156
ISO. 1989b. ISO 9074; Estelle—A Formal Description Technique Based on an Extended State Transition Model. ISO, Geneva, Switzerland.
 
157
ITU-T. 1997. Recommendation Z.500 Framework on Formal Methods in Conformance Testing. International Telecommunications Union, Geneva, Switzerland.
 
158
ITU-T. 1999. Recommendation Z.100 Specification and Description Language (SDL). International Telecommunications Union, Geneva, Switzerland.
159
 
160
Jalote, P. 1983. Specification and testing of abstract data types. In Proceedings of the 7th International Computer Software and Applications Conference (COMPSAC). IEEE Computer Society Press, Los Alamitos, CA, 508--511.
 
161
Jalote, P. and Caballero, M. G. 1988. Automated testcase generation for data abstraction. In Proceedings of the 12th International Computer Software and Applications Conference (COMPSAC). IEEE Computer Society Press, Los Alamitos, CA, 205--210.
 
162
 
163
 
164
 
165
Kerbrat, A., Jéron, T., and Groz, R. 1999. Automated test generation from SDL specifications. In SDL For. 135--152.
 
166
 
167
 
168
Kohavi, Z. 1978. Switching and Finite State Automata Theory. McGraw-Hill, New York, NY.
 
169
Kondo, K. and Yoshida, M. 2005. Use of hybrid models for testing and debugging control software for electromechanical systems. IEEE/ASME Trans. Mechatron. 10, 3, 275--284.
 
170
Koné, O. 2001. A local approach to the testing of real-time systems. Comput. J. 44, 5, 435--447.
 
171
Krichen, M. and Tripakis, S. 2004. Black-box conformance testing for real-time systems. In Proceedings of the 11th International SPIN Workshop. 109--126.
 
172
Krichen, M. and Tripakis, S. 2005. An expressive and implementable formal framework for testing real-time systems. In Proceedings of the 17th IFIP TC6/WG 6.1 International Conference on Testing of Communicating Systems (TestCom). 209--225.
173
174
 
175
 
176
 
177
Lee, D. and Yannakakis, M. 1996. Principles and methods of testing finite-state machines. Proc. IEEE 84, 8, 1089--1123.
 
178
 
179
 
180
181
182
 
183
 
184
 
185
López, N. and Núñez, M. 2004. An overview of probabilistic process algebras and their equivalences. In Validation of Stochastic Systems. Lecture Notes in Computer Science, vol. 2925. Springer, Berlin, Germany, 89--123.
 
186
 
187
 
188
Lynce, I. and Marques-Silva, J. 2002. Building state-of-the-art sat solvers. In Proceedings of the 15th European Conference on Artificial Intelligence (ECAI). 166--170.
 
189
MacColl, I. and Carrington, D. 1998. Testing MATIS: A case study on specification-based testing of interactive systems. In FAHCI98: Proceedings of the Formal Aspects of Human Computer Interaction Workshop. British Computer Society, Swindon, U.K., 57--69.
 
190
 
191
 
192
 
193
 
194
 
195
Marriott, K. and Stuckey, P. 1998. Programming with Constraints: An Introduction. MIT Press, Cambridge, MA.
 
196
 
197
 
198
Meudec, C. 1997. Automatic generation of software tests from formal specifications. Ph.D. dissertation, Queen's University of Belfast, Northern Ireland, U.K.
 
199
 
200
 
201
MIL-STD 188-220B. 1998. Military Standard-Interoperability Standard for Digital Message Device Subsystems. Department of Defense, Washington, DC.
 
202
 
203
 
204
Moore, E. P. 1956. Gedanken-experiments. In Automata Studies, C. Shannon and J. McCarthy, Eds. Princeton University Press, Princeton, NJ.
 
205
 
206
MOST Cooperation. 2002. MOST media oriented system transport—multimedia and control networking technology. MOST Cooperation. Karlsruhe, Germany.
 
207
 
208
Naito, S. and Tsunoyama, M. 1981. Fault detection for sequential machines. In Proceedings of the IEEE Fault Tolerant Computing Conference. 238--243.
 
209
Nielsen, B. and Skou, A. 2003. Automated test generation from timed automata. Softw. Tools Technol. Transf. 5, 1, 59--77.
 
210
Núñez, M. and Rodríguez, I. 2003. Towards testing stochastic timed systems. In Formal Techniques for Networked and Distributed Systems (FORTE 2003). Lecture Notes in Computer Science, vol. 2767. Springer, Berlin, Germany, 335--350.
 
211
212
 
213
Park, D., Stern, U., Skakkebaek, J. U., and Dill, D. L. 2000. Java model checking. In Proceedings of the International Workshop on Automated Program Analysis, Testing and Verification (Limerick, Ireland). 74--82.
 
214
 
215
Peled, D. 2003. Model checking and testing combined. In Automata, Languages and Programming, 30th International Colloquium (ICALP 2003). Lecture Notes in Computer Science, vol. 2719. Springer-Verlag, Berlin, Germany, 47--63.
 
216
 
217
 
218
 
219
 
220
 
221
 
222
 
223
 
224
225
 
226
 
227
228
229
 
230
 
231
 
232
 
233
 
234
 
235
 
236
Sims, S. 1999. The Process Algebra Compiler User's Manual. Reactive Systems, Inc., Falls Church, VA.
 
237
 
238
 
239
 
240
 
241
 
242
 
243
Stocks, P. A. 1993. Applying formal methods to software testing. Ph.D. dissertation, University of Queensland, Brisbane, Australia.
 
244
 
245
Tan, L., Kim, J., Sokolsky, O., and Lee, I. 2004. Model-based testing and monitoring for hybrid embedded systems. In Proceedings of the IEEE International Conference on Information Reuse and Integration (IRI). 487--492.
 
246
Taouil-Traverson, S. and Vignes, S. 1996. Preliminary analysis cycle for B-method software development. In EUROMICRO 96: Proceedings of the 22nd EUROMICRO Conference, Beyond 2000: Hardware and Software Design Strategies. 319--325.
 
247
 
248
 
249
 
250
Tretmans, J. and Brinksma, E. 2003. TorX: Automated Model Based Testing. In Proceedings of the First European Conference on Model-Driven Software Engineering, A. Hartman and K. Dussa-Zieger, Eds. Imbuss, Möhrendorf, Germany. 13 pages.
251
 
252
Ural, H., Saleh, K., and Williams, A. 2000. Test generation based on control and data dependencies within system specifications in SDL. Comput. Commun. 23, 609--627.
 
253
 
254
Uyar, M. U. and Duale, A. Y. 1999. Resolving inconsistencies in EFSM modeled specifications. In Proceedings of the IEEE Military Communications Conference (MILCOM, Atlantic City, NJ).
 
255
Uyar, M. Ü., Fecko, M. A., Duale, A. Y., Amer, P. D., and Sethi, A. S. 2003. Experience in developing and testing network protocol software using FDTs. Inform. Softw. Technol. 45, 12, 815--835.
 
256
 
257
Varaiya, P. 1993. Smart cars on smart roads. IEEE Trans. Automat. Cont. 38, 2, 195--207.
 
258
Vardi, M. and Wolper, P. 1986. An automata-theoretic approach to automatic program verification. In Proceedings of the Symposium on Logic in Computer Science (LICS). IEEE Computer Society Press, Los Alamitos, CA, 332--344.
 
259
Vasilevskii, M. P. 1973. Failure Diagnosis of Automata. Cybernetics. Plenum Publishing Corporation, New York, NY.
 
260
 
261
262
 
263
von Bochmann, G., Petrenko, A., Bellal, O., and Marguiraga, S. 1997. Automating the process of test derivation from SDL specifications. In Proceedings of the 8th SDL forum, INT. Evry, France, 261--276.
 
264
 
265
 
266
Weyuker, E. J. 2002. Thinking formally about testing without a formal specification. In Proceedings of the Conference on Formal Approaches to Testing of Software (Brno, Czech Republic). 1--10.
 
267
 
268
 
269
 
270
Wimmel, G., Lötzbeyer, H., Pretschner, A., and Slotosch, O. 2000. Specification based test sequence generation with propositional logic. Softw. Test. Verif. Reliab. 10, 229--248.
 
271
Win, T. and Ernst, M. 2002. Verifying distributed algorithms via dynamic analysis and theorem proving. Tech. rep. 841. MIT Laboratory for Computer Science, MIT, Cambridge, MA.
 
272
Woodward, M. R. 1993. Errors in algebraic specifications and an experimental mutation testing tool. IEE/BCS Softw. Eng. J. 8, 4, 211--224.
273
 
274
 
275
Yevtushenko, N. V., Lebedev, A. V., and Petrenko, A. F. 1991. On checking experiments with nondeterministic automata. Automat. Contr. Comput. Sci. 6, 81--85.
276
 
277

Collaborative Colleagues:
Robert M. Hierons: colleagues
Kirill Bogdanov: colleagues
Jonathan P. Bowen: colleagues
Rance Cleaveland: colleagues
John Derrick: colleagues
Jeremy Dick: colleagues
Marian Gheorghe: colleagues
Mark Harman: colleagues
Kalpesh Kapoor: colleagues
Paul Krause: colleagues
Gerald Lüttgen: colleagues
Anthony J. H. Simons: colleagues
Sergiy Vilkomir: colleagues
Martin R. Woodward: colleagues
Hussein Zedan: colleagues