Kursusnavn (dansk): | Softwaretest og verifikation |
Kursusnavn (engelsk): | Software Test and Verification |
Semester: | Efterår 2003 |
Udbydes under: | cand.it., internet- og softwareteknologi (int) |
Omfang i ECTS: | 7,50 |
Kursussprog: | Engelsk |
Kursushjemmeside: | https://learnit.itu.dk |
Min. antal deltagere: | 0 |
Forventet antal deltagere: | 20 |
Maks. antal deltagere: | 42 |
Formelle forudsætninger: | You are supposed to be able to develop object oriented programs in Java of a size corresponding to roughly 1000 lines of codes.
The prerequisites may for instance be obtained through the programming course OOP at IT-C. Further experience with programming is an advantage but not a prerequisite.
|
Læringsmål: | The aim of the course is to give a conceptual basis for the understanding of Software Test and Verification and to make the participants able to apply the underlying theories and tools in practice.
Errors in software are irritating, costly and potentially dangerous. We all encounter problems with software errors, for instance as the frequent need to update software to patch errors, and the annoying computer viruses that are able to spread due to software errors.
In the course we shall look at various techniques to find errors. These will range from disciplined manual approaches to computer-based automatic and semi-automatic tools. |
Fagligt indhold: | Having successfully completed the course the student will be able to:
- Explain how to use code inspection (e.g., The Cleanroom Method) to improve code quality and explain the benefits and limitations of code inspection.
- Perform Unit Testing (e.g., JUnit) on medium-sized programs.
- Use Pre- and Postconditions and Invariants (Design By Contract) to verify minor programs. Explain the theoretical basis for invariants, their benefits and limitations.
- Explain the use of Automata Theory and Concurrency in testing and verifying finite-state systems.
- Use Temporal logics (CTL and LTL) to express temporal properties.
- Use Run-Time Verification (Java PathFinder) for testing medium-sized programs.
- Explain and use (Symbolic) Model Checking (Binary Decision Diagrams and SMV).
|
Læringsaktiviteter: | Lectures, smaller mandatory exercises, theory and exercises. |
Eksamensform og -beskrivelse: | X. experimental examination form (7-scale; external exam), 13-skala, Ekstern censur Ved starten af den mundtlige eksamination trækkes et af de på forhånd udleverede spørgsmål. Eksaminanden må fra sine noter opskrive en kort disposition på tavlen og går derefter i gang med at besvare spørgsmålet. Eksaminationen afsluttes med yderligere spørgsmål fra eksaminator og censor i relation til det præsenterede emne og øvrige dele af pensum.
Inklusiv evaluering afsættes der 30 minutter pr. eksaminand.
|
Litteratur udover forskningsartikler: | The books: "Toward Zero-Defect Programming" by Allan M. Stavely, Addison-Wesley, 1999 and "Model Checking" by Ed Clarke, Orna Grumberg, and Doron Peled, MIT Press, 1999. Further articles, online material and notes to be supplied later. |
| |