Analysis of Software Artifacts

Year
1
Academic year
2022-2023
Code
02038930
Subject Area
Informatics
Language of Instruction
English
Other Languages of Instruction
Portuguese
Mode of Delivery
Face-to-face
ECTS Credits
6.0
Type
Compulsory
Level
2nd Cycle Studies - Mestrado

Recommended Prerequisites

Programming.

Teaching Methods

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. The evaluation includes tests; project presentations; exam, and homework assignments.

Learning Outcomes

This course focuses on analysis of software artifacts primarily code, but also including analysis of designs, architectures, and test suites. The course is centered on software quality and non-functional aspects, addressing static and dynamic tecnicas, such as static code analysis, inspections, model checking, different test strategies and benchmarking. 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 in selecting and writing analyzes for a real piece of software, applying them and interpreting the results.

Work Placement(s)

No

Syllabus

Introduction to quality and verification; Inspections; Test domain modeling; model checking; blackbox testing (equivalence class partitioning; boundery values analysis), withbox testing (control flow; data flow), combinatorial testing; Framework; Mutation testing; Analysis; Formal verification; Architectural analysis.

Head Lecturer(s)

Henrique Santos do Carmo Madeira

Assessment Methods

Assessment
Exam: 45.0%
Project: 55.0%

Bibliography

Design Patterns Explained;

Buechner, Test Case Design Using the Classification Tree

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