CSE 503: Software Engineering: Program AnalysisWinter 2010Meetings: MW 10:30-11:50, room MGH 238Lecturer: Michael ErnstTA: Todd SchillerSoftware is becoming ever more complex and difficult to understand, at the same time as it is used ever morepervasively. It is hopeless to understand how software systems work (or why they do not work!) withoutautomated assistance. Programmers need tool assistance during design, implementation, testing, debugging,and modification ("maintenance"). This graduate seminar will investigate a variety of program analysistechniques that address these software engineering tasks.Static analysis topics include abstract interpretation (dataflow), type systems (including inference andnon-standard type systems), model checking, decision procedures (SAT, BDDs, etc.), theorem-proving.Dynamic analysis topics include testing, fault isolation (debugging), model inference, and visualization. Whilethe course focuses on the design and implementation of program analysis tools, the material will be useful toanyone who wishes to improve his or her programming or understand the state of the art.
This is the end of the preview.
access the rest of the document.