Students will learn and apply state-of-the-art techniques for analyzing and testing programs. Students will be able to automatically (1) generate test inputs for testing programs, (2) measure coverage during test execution, (3) localize faults in a program, (4) explore program repair techniques. This course prepares students for practical work in the software industry by exposing them to the latest approaches and tools. This course also prepares students who are interested in cutting-edge research in software testing and analysis.
The topics covered in this course are listed below:
Students will be exposed to software tools that implement various testing approaches.