HASLab’s Software Engineering team with top-tier publications on the way

The Software Engineering team at HASLab recently had four publications accepted in the very top conferences and journals in the area. Rui Abreu, Alcino Cunha, Nuno Macedo, Paolo Masci, Alexandre Perez and José Campos, together with their co-authors, had papers accepted at the journal IEEE Transactions on Software Engineering and the International Conference on Software Engineering.


A test-suite diagnosability metric for spectrum-based fault localization approaches” and “Evaluating and improving fault localization” are the two publications accepted that will be presented at the main conference of ICSE 2017, the 39th International Conference on Software Engineering, to be held in May in Buenos Aires, Argentina, unanimously considered the top conference in the area, for example listed with A* in the well-know CORE Australian conference ranking and ranking 1st in Google Scholar metrics for Software Systems.

In the first publication, Rui Abreu and Alexandre Perez, both researchers at HASLab / INESC TEC, focus on a novel metric to assess the diagnosability of a test suite. Current metrics (most notably, code coverage) to assess test suites fall short from accurately estimate the diagnostic capability of a set of test cases. In this work, the authors propose a metric, coined DDU, which estimates the quality of tests in terms of being able to pinpoint the faulty location if tests that should be added to the suite (e.g., more unit vs. integration tests). 

In the second publication, Rui Abreu and co-authors, including José Campos, a PhD student conducting his research at HASLab/INESC TEC, report the results of a comprehensive and systematic evaluation of data identified in previous articles. One of the main conclusions of the paper is that the use of artificial faults does not make it possible to conclude with certainty if the results will be the same in real failures.

Alcino Cunha and Nuno Macedo, both HASLab/INESC TEC researchers, have had a paper accepted in the IEEE Transactions on Software Engineering (TSE), currently available as preprint, awaiting its formal publication. TSE is a top-tier journal in the area of software engineering, which is interested in well-defined theoretical results and empirical studies that have potential impact on the construction, analysis, or management of software.

Titled "A feature-based classification of model repair approaches", the paper addresses model-driven engineering (MDE), which is a software development methodology that focuses on creating and exploiting domain models. As the popularity and application scenarios of MDE expand, numerous techniques have been developed to address varied tasks in specific contexts. This research focuses specifically on model repair techniques, essential to manage consistency in evolving MDE environments.

The article proposes a classification system for model repair techniques, based on features identified through a literature review of existing approaches. The goal is to assist developers and researchers in comparing their work under a unifying and supportive framework and MDE practitioners in choosing appropriate techniques for their particular needs.

Finally, Paolo Masci has submitted the publication "A PVS-Simulink integrated environment for model-based analysis of cyber-physical systems", also to the IEEE Transactions on Software Engineering journal. The article presents a methodology, with a support tool, for integrated modelling and analysis of software components in cyber-physical systems.

Cyber-physical systems are autonomous smart systems that involve high connectivity and integration of heterogeneous components. An example of a cyber-physical system is a pacemaker device that monitors and controls the contraction of the heart to maintain the cardiac rhythm within its physiological range.

Using the methodology presented in the article, developers can execute detailed simulations of the whole cyber-physical system by integrating multiple models and tools. Additionally, they can use formal (mathematical) verification technologies to analyse all possible software executions for all possible inputs. This is important to gain additional confidence that the software will perform as intended, and to identify and correct any latent design issue before the device is marketed. In the pacemaker example, for instance, developers can make sure that the pacemaker software always detects and corrects pathological situations such as bradycardia, where the heart rate is too slow.

The ultimate aim of this work is to facilitate the introduction of formal verification technologies in the software development process of cyber-physical systems, which typically requires the integrated use of different types of models and tools.