TU Delft
Year
print this page print this page     
NEDERLANDSENGLISH
Organization
2017/2018 Electrical Engineering, Mathematics and Computer Science Master Computer Science
CS4110
Software Testing and Reverse Engineering
ECTS: 5
Responsible Instructor
Name E-mail
Dr.ir. S.E. Verwer    S.E.Verwer@tudelft.nl
Contact Hours / Week x/x/x/x
0/0/2/0
Education Period
3
Start Education
3
Exam Period
3
4
Course Language
English
Course Contents
Software is one of the most complex artifacts of mankind has ever created, but complexity is the enemy of correctness. Modern software testing tools use a multitude of automated techniques geared toward correct computer code, amongst others:

Concrete and symbolic (concolic) testing
Execution monitoring and taint analysis
Mutation testing
Reverse-engineering and binary analysis
Search-based and model-based test case generation
State machine learning or inference
Web testing
Study Goals
The student will acquire:

Understanding of different advanced software testing techniques
Ability to test and improve the correctness of existing systems
Ability to analyze and reverse-engineer software code
Education Method
The main part of the course will consist of a lab assignment where the students will need to test a real software system using a state-of-the-art techniques described in the scientific literature. This will be supported by a few lectures covering the tools and techniques that are required for these tasks, such as SAGE, Pitest, CWSandbox, LearnLib, Torx, Sulley, Crawljax, Valgrind, and Z3. There will be many instruction sessions where students can work on their assignment and ask the teachers for assistance.
Assessment
Lab work 50% including a written report 30% and presentation of the results 20%.
Co-instructor
Name E-mail
Prof.dr. A. van Deursen    Arie.vanDeursen@tudelft.nl