SW4520 Advanced Software Engineering

This course covers methods for specifying, designing, and analyzing software systems, with emphasis on automatable techniques and their mathematical basis. The techniques are applied to construct and check programs using a formal specification language. The course concludes with a summary of current research areas in software engineering.

Prerequisite

SW3460

Lecture Hours

3

Lab Hours

0

Course Learning Outcomes

After completing this course, students will be able to do the following:

  • Interpret logical software specifications to determine if a given test result should pass or fail.
  • Apply feature models to construct a product line architecture for a software system.
  • Use static analysis tools to detect common faults in programs.
  • Apply attribute grammars to generate software implementations from a model-based software design.