Static Analysis Techniques.

Code -
Credits 6

Learning outcomes

The goal of this course is to communicate how static analysis techniques can be applied throughout the software lifecycle to increase the effectiveness of software engineers. Students can better understand how to reason about programs and the benefits and limitations of various static analysis techniques. The course will cover static analysis techniques that can be used across the software lifecycle. Topics include not just analysis for correctness, but also analysis techniques for quality attributes such as security, reliability, performance (including real-time), memory usage, and evolvability. Students will become familiar with several analysis tools developed in academia and industry, both through readings in the research literature and practical experience trying out one or more tools.