I'm currently a post-doctoral researcher at HASLab, INESC TEC's unit focused on high-assurance software development, at the University of Minho, Portugal, studying and developing formal techniques for software engineering.

I've recently completed my joint PhD degree on computer science from the Universities of Minho, Aveiro and Porto, on a "Relational Approach to Bidirectional Transformation" under the supervision of Professor Alcino Cunha. Previously I have completed both the Undergraduate and Master degrees on Computer Engineering, at University of Minho.

My research focuses on the application of lightweight formal methods to Software Engineering, with the goal of improving the overall quality of software products.

Current projects

ScalABLE4.0 - Scalable Automation for Flexible Production Systems, an H2020 project that aims to develop an open scalable production system framework that can be used efficiently and effectively to visualize, virtualize, construct, control, maintain and optimize production lines.
TRUST - Trustworthy Software Design with Alloy, a COMPETE2020 project that aims to develop a methodology for trustworthy software design that is both formal, unified, and lightweight around Alloy.
PTCRIS - An ORCID-based Synchronization Framework for the Portuguese CRIS, a project commissioned by FCT that aims to develop a synchronization framework for information exchange between the various national systems and international systems.  

Past projects

NanoSTIMA RL1.3 - High-Assurance Medical Cyber-physical Systems, a NORTE2020 project that aims to contribute to safer medical cyber-physical systems through the development of such design and analysis techniques.
FATBIT - Foundations, Applications and Tools for Bidirectional Transformation, a COMPETE project that aimed to propose effective bidirectional transformation frameworks for model-driven engineering, spreadsheet validation and transformation, and language-based editors defined with attribute grammars.
BEST CASE RL8 - Languages and Tools for Critical Real-Time Systems, an ON.2 project that aimed to contribute to a change to the current paradigm of secure ITC infrastructure, according to which the deployment and operation of a critical system implies security enforcement as a reactive process.

Selected publications

N. Macedo, T. Jorge and A. Cunha. A Feature-based Classification of Model Repair Approaches. IEEE Transactions on Software Engineering, 2016.
A. Santos, A. Cunha, N. Macedo and C. Lourenço. A Framework for Quality Assessment of ROS Repositories. 2016 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS 2016). IEEE/RSJ, 2016.
N. Macedo, J. Brunel, D. Chemouil, A. Cunha and D. Kuperberg. Lightweight Specification and Analysis of Dynamic Systems with Rich Configurations. 24th ACM SIGSOFT International Symposium on the Foundations of Software Engineering (FSE 2016). ACM, 2016.
N. Macedo and A. Cunha. Least-change Bidirectional Model Transformation with QVT-R and ATL. Software and System Modeling, 2016.


Electrum Analyzer is an extension of the Alloy Analyzer for the bounded model checking of Electrum models.
Pardinus is an extension of Kodkod with support for target-oriented, temporal and decomposed model finding.
PTCRISync is an ORCID-based synchronization framework for CRIS's.
Echo is an Eclipse plug-in to operationalize QVT-R bidirectional model transformations using Alloy.

Current students

André Santos - Co-supervision of the PhD thesis on “High-assurance Robotics Software”.
Chong Liu - Co-supervision of the PhD thesis on “Lightweight Trustworthy High-level Software Design”.

Past students

Eduardo Pessoa - Supervision of the MSc thesis on “Parallel Verification of Dynamic Systems with Rich Configurations”
José Pereira - Co-supervision of the MSc thesis on “A Web-based Social Environment for Alloy”.
André Santos - Co-supervision of the MSc thesis on “Applying Coding Standards to the Robot Operating System”.
Miguel Costa - Co-supervision of the MSc thesis on “Software Quality for the Robot Operating System”.