Analysis of Software Artifacts 17-654
Analysis of Software Artifacts is normally offered in the Spring Semester.
Our ability to build, maintain, and reuse software systems relies on our ability to analyze effectively the products of software development. This course will address all kinds of software artifacts - specifications, designs, code, etc. - and will cover both traditional analyses, such as verification and testing, and promising new approaches, such as model checking, abstract execution and new type systems. The focus will be the analysis of function (for finding errors in artifacts and to support maintenance and reverse engineering), but the course will also address other kinds of analysis (such as performance and security).
Various kinds of abstraction (such as program slicing) that can be applied to artifacts to obtain simpler views for analysis will play a pivotal role. Concern for realistic and economical application of analysis will also be evident in a bias towards analyses that can be applied incrementally. The course emphasizes the fundamental similarities between analyses (in their mechanism and power) to teach the students the limitations and scope of the analyses, rather than the distinctions that arose historically (static vs. dynamic, code vs. spec). The course will balance theoretical discussions with lab exercises in which students will apply the ideas they are learning to real artifacts.
After completing this course, students will:
know what kinds of analyses are available and how to use them
understand their scope and power, when they can be applied and what conclusions can be drawn from their results
have a grasp of fundamental notions sufficient to evaluate new kinds of analysis when they are developed
have some experience selecting analyses for a real piece of software, applying them and interpreting the results
Prerequisite:
Experience programming a large software system. If possible, this course should be taken after
Models of Software Systems
.
Click Here
for a copy of the Analysis of Software Artifacts syllabus.
© 2003 Carnegie Mellon
Webmaster
Home
General Information
Admission
Plans Of Study
Curriculum
People
Facilities
Contacts
Login