Automated Software Testing and Reverse Engineering
Beschrijving
Software is one of the most complex artifacts of mankind has ever created, but complexity is the enemy of correctness. Modern software testing and validation tools use a multitude of techniques geared toward correct computer code, most of these are base on artificial intelligence. In this course, we study these techniques in details, specifically we will understand and implement:
Execution monitoring
Branch distance computation
Hill-climbing and genetic algorithms
Concrete and symbolic (concolic) execution
Active state machine learning
Genetic programming
The goal is to better understand and test software using artificial intelligence. Using the taught techniques you will be able to automatically:
Discover which code is reachable
Find (security) bugs in software
Write tests that cover all reachable code
Reverse engineer a code's functionality
Patch code to remove bugs and failing tests
Reviews0 reviews
Heb jij dit vak gevolgd?
Deel je ervaring met toekomstige studenten. Inloggen met je TU Delft mailadres duurt één minuut.
Schrijf een review