Michael Pradel: Catalogue data in Spring Semester 2013 |
Name | Dr. Michael Pradel |
URL | http://mp.binaervarianz.de |
Department | Computer Science |
Relationship | Lecturer |
Number | Title | ECTS | Hours | Lecturers | |
---|---|---|---|---|---|
252-0216-00L | Software Architecture and Engineering | 8 credits | 4V + 3U | M. Vechev, M. Pradel | |
Abstract | This course introduces both theoretical and applied aspects of software analysis and engineering. We will cover both the theoretical and practical aspects of: - Software Architecture - Modelling - Design Patterns - Code Refactoring - Program Testing - Dynamic Program Analysis - Static Program Analysis | ||||
Objective | The course has 2 main objectives: - Obtain an end-to-end (both, theoretical and practical) understanding of the core techniques used for building quality software. - Understand how to apply these techniques in practice. | ||||
Content | Some of the core technical topics covered will be: - modeling and mapping of models to code - common code design patterns and how to apply them - refactoring (as used in all modern development environments today): why, when and what to refactor - testing: functional, model-based, structural, object-oriented, fault-based testing - dynamic analysis: semantics, race detection, typestate analysis - symbolic execution - static program analysis: lattices, abstractions, fixed points, abstract domains. To aid in practical understanding, the course will contain 2 projects: one for testing and the other for static program analysis where for both the students will build practical analyzers gaining hands-on understanding for how the concepts work. | ||||
Literature | Will be announced in the lecture. |