Week 1: An overview of testing Testing your own programs Week 2: Test requirement check lists and test specifications Week 3: Code inspections Test drivers Test coverage to test test suite Week 4: Adopting testing methodologies Testing in practice Week 5: Testing bug fixes and other maintenance changes Syntax testing Week 6: Testing object-based and object-oriented software Testing state machines and state charts Week 7: Formal specification languages: Larch and UML/OCL Week 8: Proving simple programs correct Hoare Logic Week 9: Advanced OO testing Week 10: Advanced OO testing Relevant literature: @ARTICLE{clarke:toplas86, AUTHOR = "E.M. Clarke and E.A. Emerson and A.P. Sistla", TITLE = "Automatic Verification of Finite-State Concurrent Systems Using Temporal Logic Specifications", JOURNAL = toplas, YEAR = 1986, PAGES = "", MONTH = "April", VOLUME = 8, NUMBER = 2 } @INPROCEEDINGS{solomon:param, AUTHOR = "V. Hartonas-Garmhausen and T. Kurfess and Edmund M. Clarke and D. Long ", TITLE = "Automatic Verification of Industrial Designs", BOOKTITLE = "Workshop on Industrial-Strength Formal Specification Techniques", YEAR = "1995", ADDRESS = "Boca Raton", PAGES = "88-96", EDITOR = "", PUBLISHER = "IEEE Computer Society Press" } @BOOK{Minato:kluwer, AUTHOR = "Shin-ichi Minato", TITLE = "Binary Decision Diagrams and Applications for VLSI CAD", PUBLISHER = "Kluwer Academic Publishers", YEAR = "1996", SERIES = "", VOLUME = "" } @BOOK{wing:larch, AUTHOR = "Ursula Martin and Jeannette Wing", TITLE = "First International Workshop on Larch", PUBLISHER = "Springer", YEAR = "1992", SERIES = "Workshops in Computing", VOLUME = "" } @BOOK{partsch:trans, AUTHOR = "Helmut A. Partsch", TITLE = "Specification and Transformation of Programs", PUBLISHER = "Springer", YEAR = "1990", SERIES = "Texts and Monographs in Computer Science", VOLUME = "" } @BOOK{dahl:veri, AUTHOR = "Ole-Johan Dahl", TITLE = "Verifiable Programming", PUBLISHER = "Prentice Hall", YEAR = "1992", SERIES = "Series in Computer Science", VOLUME = "" } @INPROCEEDINGS{clarke-emerson:model-synthesis, AUTHOR = "Edmund M. Clarke and E. Allen Emerson", TITLE = "Design and Synthesis of Synchronization Skeletons Using Branching-Time Temporal Logic", BOOKTITLE = "Logics of Programs", YEAR = "1981", ADDRESS = "Yorktown Heights", PAGES = "52-71", EDITOR = "Dexter Kozen", PUBLISHER = "Springer" } @BOOK{hogrefe:sdl, AUTHOR = "Jan Ellsberger and Dieter Hogrefe and Amardeo Sarma", TITLE = "SDL", PUBLISHER = "Prentice Hall", YEAR = "1997", SERIES = "", VOLUME = "" } @BOOK{olderog:three-views, AUTHOR = "E.R. Olderog", TITLE = "Nets, Terms and Formulas", PUBLISHER = "Cambridge University Press", YEAR = "1991", SERIES = "Cambridge Tracts in Theoretical Computer Science", VOLUME = "" } @BOOK{poston:testing, AUTHOR = "Robert M. Poston", TITLE = "Automating Specification-Based Software Testing", PUBLISHER = "IEEE Computer Society Press", YEAR = "1996", SERIES = "", VOLUME = "" }Please note that this is only a first tentative schedule which will surely be subject of (important) changes during the course. So, please consult this page frequently.