Analysis of Software Artifacts

Year
1
Academic year
2019-2020
Code
02008452
Subject Area
Computer Science
Language of Instruction
English
Mode of Delivery
Face-to-face
Duration
SEMESTRIAL
ECTS Credits
7.0
Type
Compulsory
Level
2nd Cycle Studies - Mestrado

Recommended Prerequisites

Not applicable.

Teaching Methods

Methodologies defined and implemented by CMU professors. The evaluation includes tests; project presentations; midterm exam, final exam, and homework assignments.

In practice, this course includes theoretical lectures with detailed exposition of concepts, principles and fundamental techniques for analyzing software artifacts, along with practical examples intended to increase students' interest in theoretical concepts and exemplify their application to real situations.

Learning Outcomes

This course focuses on analysis of software artifacts primarily code, but also including analysis of designs, architectures, and test suites. In order to illustrate core analysis concepts in some depth, the course centers on static program analysis, but it also includes a breadth of techniques such as testing, model checking, theorem proving, dynamic analysis, and type systems. The course balances theoretical discussions with lab exercises in which students 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.

Work Placement(s)

No

Syllabus

Introduction to quality and verification; Inspection; Test domain modeling; Adequacy criteria; Structural testing; Combinatorial testing; Framework Design Presentations; Random & Mutation testing; Analysis; Formal verification; Architectural analysis / DSMs; Algorithm analysis and/or profiling; Queueing theory; Queueing theory exercise / Security; Security.

Head Lecturer(s)

Henrique Santos do Carmo Madeira

Assessment Methods

Assessment
Tests; project presentations; midterm exam, final exam, and homework assignments: 100.0%

Bibliography

Design Patterns Explained;

Buechner, Test Case Design Using the Classification Tree

Method; Conrad, A Systematic Approach to Testing Automotive Control Software