Software Testing and Analysis

Software Test Automation

Focuses on the development of novel techniques and tools to improve testing effectiveness and efficiency, particularly through automatic test generation based on models and patterns.

Automatic Fault Localization and Debugging

Focuses on the development of novel techniques and tools to improve debugging efficiency and effectiveness.

Software Design and Construction

Model-Driven Software Engineering

Focuses on the development of novel generative and interpretative model-driven engineering approaches, for rapid application development and adaptation, ensuring quality by construction.

Software Architecture and Design

Focuses on mining, documentation and use of structures and successful software architectures to build systems with a high design quality, easy to understand and evolve through the application of design strategies and methods more effective for the given requirements.

Software Process Engineering and Knowledge Management

Software Process Engineering

Concerned with the improvement of the methods and processes of software development to achieve higher levels of productivity, predictability and quality.

Software Knowledge Management

Addresses the capture, preservation, organization, dissemination and evolution of all the relevant knowledge involved in software development projects, from artefacts, processes and activities, to project management information.