• No results found

Testing object Interactions Grüner, A.

N/A
N/A
Protected

Academic year: 2021

Share "Testing object Interactions Grüner, A."

Copied!
6
0
0

Bezig met laden.... (Bekijk nu de volledige tekst)

Hele tekst

(1)

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).

(2)

[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

(3)

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)

(4)

[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)

(5)

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

(6)

[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)

Referenties

GERELATEERDE DOCUMENTEN

Thus, the original statement of an (outgoing) method call, x = e.m(e), is now split into the actual outgoing call and its corresponding incoming return such that the new

Thus, if no matching incoming call expectation can be found, then, before we consider the constructor call to be unexpected, we additional check if an internal object creation

As for the remaining inherited typing rules regarding statements, they are again extended by the new name context. Some of them are also adapted regard- ing the control context. A

Finally, we sketch how the code generation algorithm of the single-threaded setting can be modified in order to generate test programs also for

Consequently, the thread configuration mapping is extended by the new thread n, where n is mapped to its thread class and a new call stack consisting of the method or, respectively,

Note, furthermore, that we need not to provide a specification statement for the expectation of incoming spawns. To understand the reason, consider the case that we do provide such

As a third step, we developed a test code generation algorithm which allows to automatically generate a Japl test program from a test specification.. A central contribution is

License: Licence agreement concerning inclusion of doctoral thesis in the Institutional Repository of the University of Leiden. Downloaded