Testing object Interactions
Grüner, A.
Citation
Grüner, A. (2010, December 15). Testing object Interactions. Retrieved from https://hdl.handle.net/1887/16243
Version: Corrected Publisher’s Version
License: Licence agreement concerning inclusion of doctoral thesis in the Institutional Repository of the University of Leiden
Downloaded from: https://hdl.handle.net/1887/16243
Note: To cite this publication please use the final published version (if
applicable).
[1] Abadi, M., Cardelli, L.: A Theory of Objects. Monographs in Computer Science.
Springer-Verlag (1996)
[2] ´Abrah´am, E., de Boer, F.S., Bonsangue, M.M., Gr¨uner, A., Steffen, M.: Observabil- ity, connectivity, and replay in a sequential calculus of classes. In: M. Bonsangue, F.S. de Boer, W.P. de Roever, S. Graf (eds.) Proceedings of the Third International Symposium on Formal Methods for Components and Objects (FMCO 2004), Lec- ture Notes in Computer Science, vol. 3657, pp. 296–316. Springer-Verlag (2005).
URL http://www.ifi.uio.no/~msteffen/download/fa-fmco.pdf
[3] ´Abrah´am, E., Grabe, I., Gr¨uner, A., Steffen, M.: Behavioral interface description of an object-oriented language with futures and promises. Journal of Logic and Alge- braic Programming (2009). URL http://www.ifi.uio.no/~msteffen/download/
09/futures.pdf. To appear in a special issue of the Journal of Logic and Algebraic Programming (NWPT’07).
[4] ´Abrah´am, E., Gr¨uner, A., Steffen, M.: Abstract Interface Behavior of Object- Oriented Languages with Monitors. Theory of Computing Systems 43(3-4), 322–
361 (2008). DOI 10.1007/s00224-007-9047-0. URL http://www.ifi.uio.no/
~msteffen/download/07/monitors-journal.pdf
[5] ´Abrah´am, E., Gr¨uner, A., Steffen, M.: Heap-Abstraction for an Object-Oriented Calculus with Thread Classes. Journal of Software and Systems Modelling (SoSyM) 7(2), 177–208 (2008). DOI 10.1007/s10270-007-0065-9. URL http:
//springerlink.metapress.com/content/dqxhn70707442838/fulltext.pdf [6] Ammann, P., Offutt, J.: Introduction to Software Testing, 1 edn. Cambridge Uni-
versity Press (2008)
[7] Bandat, K.: On the Formal Definition of PL/I. In: AFIPS ’68 (Spring): Proceedings of the April 30–May 2, 1968, Spring Joint Computer Conference, pp. 363–373. ACM, New York, NY, USA (1968). DOI http://doi.acm.org/10.1145/1468075.1468130 [8] Barbey, S., Buchs, D., P´eraire, C.: A Theory of Specification-Based Testing for
Object-Oriented Software. In: Proccedings of the European Dependable Computing Conference, Lecture Notes in Computer Science, vol. 1150. Springer-Verlag (1996) [9] Baresi, L., Pezz`e, M.: An Introduction to Software Testing. Electr. Notes Theor.
Comput. Sci. 148(1), 89–111 (2006)
[10] Beck, K.: Smalltalk Idioms: Simple Smalltalk Testing. The Smalltalk Report 4(2) (1994). URL http://www.xprogramming.com/testfram.htm
167
168 BIBLIOGRAPHY
[11] Beck, K.: Extreme Programming Explained: Embrace Change. Addison-Wesley (2000)
[12] Beck, K., Gamma, E.: Test Infected: Programmers Love Writing Tests. Java Report 3(7), 51–56 (1998)
[13] Beizer, B.: Software Testing Techniques, 2 edn. Van Nostrand Reinhold Co., New York, NY, USA (1990)
[14] Bertolino, A.: Software Testing Research: Achievements, Challenges, Dreams. In:
Proceedings of Future of Software Engineering at ICSE 2007, pp. 85–103 (2007) [15] Biermann, G., Parkinson, M.J., Pitts, A.M.: An Imperative Core Calculus for Java
and Java with Effects. Technical Report 563, University of Cambridge Computer Laboratory (2004)
[16] Binder, R.V.: Testing Object-Oriented Systems, Models, Patterns, and Tools.
Addison-Wesley (2000)
[17] Birrell, A.D.: An Introduction to Programming with C#Threads. Technical Report TR-2005-68, Microsoft Research Technical Report (2005)
[18] Boehm, B., Basili, V.R.: Software Defect Reduction Top 10 List. Computer 34(1), 135–137 (2001). DOI http://doi.ieeecomputersociety.org/10.1109/2.962984 [19] Boehm, B.W.: Guidelines for Verifying and Validating Software Requirements and
Design Specifications. In: Samet, P. A. (ed.):IFIP, pp. 711–719. North-Holland:
Amsterdam (1979)
[20] de Boer, F.S., Bonsangue, M.M., Gr¨uner, A., Steffen, M.: Java test driver generation from object-oriented interaction traces. In: Proceedings of the 2nd International Workshop on Harnessing Theories for Tool Support in Software TTSS’08, ICTAC 2008 satellite workshop, 30. August 2008, Istambul, Turkey (2008). URL http:
//www.ifi.uio.no/~msteffen/download/08/javatestdriver.pdf
[21] Byous, J.: Java Technology: The Early Years. Sun Developer Network (1998). URL http://java.sun.com/features/1998/05/birthday.html
[22] Dahl, O.J., Nygaard, K.: SIMULA — An ALGOL-Based Simulation Language.
Communications of the ACM 9(9), 671–678 (1966)
[23] Dijkstra, E.W.: Ewd 340: The Humble Programmer. Communications of the ACM 15 (1972). URL http://www.cs.utexas.edu/users/EWD/ewd03xx/EWD340.PDF [24] The easyMock home page (2007). URL http://www.easymock.org
[25] ECMA International Standardizing Information and Communication Systems: C# Language Specification, 4th edn. (2006). Standard ECMA-334
[26] The Eiffel home page (2008). URL http://www.eiffel.com
[27] Fowler, M.: Mocks Aren’t Stubs (2007). URL http://www.martinfowler.com/
articles/mocksArentStubs.html
[28] Freeman, S., Pruyce, N., Mackinnon, T., Walmes, J.: Mock Roles, not Objects. In:
Ninetheeth Object Oriented Programming: Systems, Languages, and Applications (OOPSLA) ’04. ACM (2004). In SIGPLAN Notices
[29] Freeman, S., Pryce, N.: Evolving an Embedded Domain-Specific Language in Java.
In: P.L. Tarr, W.R. Cook (eds.) OOPSLA Companion, pp. ”855–865”. ACM (2006)
[30] Goldberg, A., Robson, D.: Smalltalk-80: The Language and its Implemementation.
Addison-Wesley, Reading, MA (1983)
[31] Gordon, A.D., Hankin, P.D.: A Concurrent Object Calculus: Reduction and Typing.
In: U. Nestmann, B.C. Pierce (eds.) Proceedings of HLCL ’98, Electronic Notes in Theoretical Computer Science, vol. 16.3. Elsevier Science Publishers (1998). URL http://www.elsevier.nl/locate/entcs/volume16.3.html
[32] Guttag, J.V., Horning, J.J., Wing, J.M.: Larch in Five Easy Pieces. Tech. Rep. 5, DEC System Research Center, 130 Lytton Avenue, Palo Alto, CA 94301 (1985).
Order from src-report@src.dec.com
[33] Harrold, M.J.: Testing: A roadmap. In: In The Future of Software Engineering, pp.
61–72. ACM Press (2000)
[34] Igarashi, A., Pierce, B.C., Wadler, P.: Featherweight Java: A minimal core calculus for Java and GJ. In: Object Oriented Programming: Systems, Languages, and Applications (OOPSLA) ’99, pp. 132–146. ACM (1999). In SIGPLAN Notices [35] Jacky, J., Veanes, M., Campbell, C., Schulte, W.: Model-Based Software Testing
and Analysis with C]. Cambridge University Press (2008)
[36] JSR 175: A Metadata Facility for the Java Programming Language (2004). URL http://jcp.org/en/jsr/detail?id=175
[37] The Java Modeling Language (JML) home page (2003). URL http://www.cs.
iastate.edu/~leavens/JML/
[38] The jMock home page (2007). URL http://www.jmock.org
[39] Jones, C.: Applied Software Management: Assuring Productivity and Quality.
McGraw-Hill (1996)
[40] Jones, C.B.: Systematic Software Development Using VDM, 2 edn. International Series in Computer Science. Prentice Hall (1990)
[41] The JUnit home page (2007). URL http://junit.sourceforge.net
[42] Kaner, C., Nguyen, H.Q., Falk, J.L.: Testing Computer Software. John Wiley &
Sons, Inc., New York, NY, USA (1993)
[43] Kats, L.C.L., Bravenboer, M., Visser, E.: Mixing Source and Bytecode. A Case for Compilation by Normalization. In: G. Kiczales (ed.) Proceedings of the 23rd ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA 2008), pp. 91–108. ACM, New York, NY, USA (2008) [44] Leavens, G.T., Cheon, Y.: Design by Contract with JML (2006). URL http://
www.jmlspecs.org/jmldbc.pdf
[45] Mackinnon, T., Freeman, S., Craig, P.: Endo-Testing: Unit Testing with Mock Objects. In: G. Succi, M. Marchesi (eds.) Extreme Programming Examined, The XP Series, pp. 287–301. Addison-Wesley (2001)
[46] Meyer, B.: Applying “Design by Contract”. IEEE Computer 25(10), 40–51 (1992) [47] Milner, R.: An algebraic definition of simulation between programs. In: Proceedings
of 2ndJoint Conference on Artificial Intelligence, pp. 481–489. BCS (1971) [48] Milner, R.: Communication and Concurrency. Prentice Hall (1989)
[49] Morris, J.H.: Lambda Calculus Models of Programming Languages. Technical Re- port MIT-LCS TR-57, MIT Press (1968)
170 BIBLIOGRAPHY
[50] Myers, G.J.: The Art of Software Testing, 2nd edn. Wiley (2004)
[51] Nathaniel Nystrom Michael R. Clarkson, A.C.M.: Polyglot: An Extensible Com- piler Framework for Java. In: Proceedings of the 12th International Conference on Compiler Construction. Springer (2003)
[52] Naur, P., Randell, B. (eds.): Software Engineering: A Report on a Conference spon- sored by the NATO science committee. NATO (1969). URL http://homepages.
cs.ncl.ac.uk/brian.randell/NATO/nato1968.PDF
[53] de Nicola, R., Hennessy, M.: Testing Equivalences for Processes. Theoretical Com- puter Science 34, 83–133 (1984)
[54] Park, D.M.R.: Concurrency and automata on infinite sequences. In: P. Deussen (ed.) Fifth GI Conference on Theoretical Computer Science, Lecture Notes in Computer Science, vol. 104, pp. 167–183. Springer-Verlag (1981)
[55] Patton, R.: Software Testing, 2nd edn. SAMS (2005)
[56] Plotkin, G.D.: A structural approach to operational semantics. Report DAIMI FN-19, Computer Science Department, Aarhus University (1981)
[57] Prasetya, W., Vos, T., Baars, A.: Trace-based Reflexive Testing of OO Programs with T2. In: ICST ’08: Proceedings of the 2008 International Conference on Soft- ware Testing, Verification, and Validation, pp. 151–160. IEEE Computer Society, Washington, DC, USA (2008). DOI http://dx.doi.org/10.1109/ICST.2008.12 [58] Rahn, C.: Bloomberg.com (2009). URL http://www.bloomberg.com/apps/news?
pid=20601100&sid=avUsNKymzMPk
[59] Reynolds, J.C.: Theories of Programming Languages. Cambridge University Press (1998)
[60] Roscoe, A.W.: Theory and Practice of Concurrency. Prentice Hall (1998)
[61] Spillner, A., Linz, T., Schaefer, H.: Software Testing Foundations: A Study Guide for the Certified Tester Exam, 1 edn. Rocky Nook (2006)
[62] Std.1008-1987, I.: IEEE Standard for Software Unit Testing. The Institute of Elec- trical and Electronics Engineers: New York (1993)
[63] Std.610.121990, I.: IEEE Standard Glossary of Software Engineering Terminology.
The Institute of Electrical and Electronics Engineers: New York (1990)
[64] Steffen, M.: Object-Connectivity and Observability for Class-Based, Object- Oriented Languages. Habilitation thesis, Technische Faktult¨at der Christian- Albrechts-Universit¨at zu Kiel (2006)
[65] Stevens, P., Pooley, R.: Using UML: Software engineering with Objects and Com- ponents. Object Technology Series. Addison-Wesley Longman (1999)
[66] Strniˇsa, R., Sewell, P., Parkinson, M.: The Java Module System: Core Design and Semantic Definition. In: OOPSLA ’07: Proceedings of the 22nd annual ACM SIG- PLAN conference on Object oriented programming systems and applications, pp.
499–514. ACM, New York, NY, USA (2007). DOI 10.1145/1297027.1297064 [67] Stroustrup, B.: The C++ Programming Language. Addison-Wesley (1986) [68] The TestNG home page (2008). URL http://java-source.net/open-source/
testing-tools/testng
[69] Tretmans, G.J.: A formal approach to conformance testing. Ph.D. thesis, Enschede (1992). URL http://doc.utwente.nl/58114/
[70] Methods for Testing and Specification (MTS). The Testing and Test Control No- tation Version 3 (TTCN-3)”. European Standard ETSI ES 201 8731 v2.2.1 (2002) [71] Tucker, A.B. (ed.): The Computer Science and Engineering Handbook. CRC Press,
Inc., Boca Raton, FL, USA (2004)
[72] Wright, G.R., Stevens, W.R.: TCP/IP Illustrated: The implementation. Addison- Wesley (2004)