Software Engineering

Proposta de tesi

Investigadors/es

Grup de recerca

Model-driven development

Model-driven development is a software development approach that attempts to reduce development costs by focusing on producing software models (usually specified by UML) rather than code, and relying on tools to automatically generate the final implementation from these models.

This line of research will investigate techniques and tools to support model-driven software development processes (model transformations, executable models, domain specific languages). The focus of this work will be on developer productivity improvements and the quality of the final software product.

Dr Elena Planas

Dr Robert Clarisó

Dr Jordi Cabot

SOM

Graphical formalisms and their application to computing education

There are many types of graphical formalisms that can be used to describe the dynamic behaviour of a system: graphs, automata, state machines, nets, activity/sequence diagrams, etc. In computing degrees, these formalisms are introduced in courses within areas such as digital circuit design, software engineering, graph theory or theoretical computer science.

This research deals with the construction of a tool infrastructure that can support features such as layout and representation of graphical formalisms, diagram animation and simulation, generation of a software/hardware implementation from the model, automated testing and evaluation of correctness. The goal is the application of these techniques to courses in the computing curriculum in order to improve the understanding of computing concepts, facilitate the creation, visualization and exchange of graphical formalisms, and contribute to the assessment and self-assessment of students.

Dr David Bañeres

Dr Robert Clarisó

SOM

Software analytics

Software analytics is the study of all data related to software and its engineering processes in order to better understand how software is built. The goal is to be able to predict and improve important quality factors of software artifacts. Software analytics includes the analysis of the program code but we are interested also in the analysis of all the collaboration and social aspects around it (who is the community that builds the software? How are they organized? What best practices do they follow? Etc.).

Dr Jordi Cabot

Dr Elena Planas

SOM

Open data for everyone

Open data is, in theory, the idea of allowing all people access to huge amounts of data (eg government data, geographical data, weather data, etc.), usually by means of public APIs, without restrictions. Nevertheless, non-technical people have no means to “consume” that data in a way in which they can extract meaningful knowledge from it.

The open data movement has not been accompanied by a parallel development of methods to empower end users to find, filter and combine that data, which defeats the whole purpose of the open data philosophy and keeps citizens illiterate.

Our goal will be to develop new research techniques for semiautomatic API discovery and mashup. Given a data request from a non-technical end-user, we should be able to automatically find and combine a set of APIs to respond to that user request.

Dr Jordi Cabot

Dr  Elena Planas

 
SOM

Lightweight formal methods

Bugs in software systems may lead to catastrophic consequences, especially in safety-critical systems such as medical or aerospace software. Testing and code reviews can reduce the defect rate, but sometimes a higher level of assurance is required. To this end, formal methods are a family of techniques that analyse a mathematical description of the system in order to ensure its correctness.

Some techniques used in the formal verification of software are model checking, theorem proving and static analysis. A problem shared by these approaches is their high computational complexity, which can limit their applicability in real-world examples. This line of research will consider pragmatic approaches for ensuring the quality of software systems at an industrial scale, considering key issues such as usability, efficiency and applicability.

Dr Robert Clarisó

Dr David Bañeres

SOM

ICSO