???global.info.a_carregar???
Nuno Macedo. Completed the PhD in Computer Science in 2014 by the Universidades do Minho, Aveiro e Porto, the MSc in Informatics in 2010 by the Universidade do Minho and the BSc in Informatics Engineering in 2008 by the Universidade do Minho. He is an Assistant Professor in the Faculdade de Engenharia da Universidade do Porto and a Researcher in INESC TEC. He published 10 articles in journals, 13 book chapters and 22 conference papers. He organised 5 event and participated in 23. He supervises and/or supervised 3 PhD theses and 12 MSc dissertations. He has received 8 awards and/or honours. He acts as Principal Investigator in 1 project, and participates and/or participated as PhD Student Fellow in 1 project, Post-doctoral Fellow in 3 projects and Researcher in 4 projects. His main research focus is trustworthy software design. In his professional activities he interacted with 36 collaborators in the co-authorship of scientific papers. In his curriculum Ciência Vitae the most frequent terms in the context of scientific output are: Lightweight formal methods; Model checking; Model finding; Formal specification; Software design; Robotic software; Verification and Validation.
Identification

Personal identification

Full name
Nuno Macedo

Citation names

  • Nuno Macedo

Author identifiers

Ciência ID
AC11-B15D-DDBD
ORCID iD
0000-0002-4817-948X
AuthenticusID
R-001-TJD
Google Scholar ID
reE2X6IAAAAJ
Researcher Id
A-1539-2013
Scopus Author Id
55415518200

Websites

Knowledge fields

  • Exact Sciences - Computer and Information Sciences - Computer Sciences
Education
Degree Classification
2010/09 - 2014/10
Concluded
MAP-i Doctoral Program in Computer Science (Doutoramento)
Universidade do Minho, Portugal

Universidade de Aveiro, Portugal

Universidade do Porto, Portugal
"A Relational Approach to Bidirectional Transformation" (THESIS/DISSERTATION)
2008/09 - 2010/09
Concluded
MSc in Informatics (Mestrado)
Universidade do Minho, Portugal
"Reasoning about Alloy Specifications using Point-free Calculus" (THESIS/DISSERTATION)
2005/09 - 2008/08
Concluded
BSc in Informatics Engineering (Licenciatura)
Universidade do Minho, Portugal
Affiliation

Science

Category
Host institution
Employer
2020/09 - Current Researcher (Research) Universidade do Porto Faculdade de Engenharia, Portugal
Instituto de Engenharia de Sistemas e Computadores Tecnologia e Ciência, Portugal
2018/09 - 2020/08 Contracted Researcher (Research) Instituto de Engenharia de Sistemas e Computadores Tecnologia e Ciência, Portugal
Instituto de Engenharia de Sistemas e Computadores Tecnologia e Ciência, Portugal
2015/07 - 2018/08 Postdoc (Research) Instituto de Engenharia de Sistemas e Computadores, Tecnologia e Ciência, Portugal
Instituto de Engenharia de Sistemas e Computadores Tecnologia e Ciência, Portugal
2014/11 - 2015/06 Postdoc (Research) Universidade do Minho, Portugal
Universidade do Minho, Portugal
2009/09 - 2014/10 Researcher (Research) Instituto de Engenharia de Sistemas e Computadores Tecnologia e Ciência, Portugal
Universidade do Minho, Portugal

Teaching in Higher Education

Category
Host institution
Employer
2020/09 - Current Assistant Professor (University Teacher) Universidade do Porto Faculdade de Engenharia, Portugal
Universidade do Porto, Portugal
2015/09 - 2020/08 Invited Assistant Professor (University Teacher) Universidade do Minho Escola de Engenharia, Portugal
Universidade do Minho, Portugal
2013/09 - 2014/02 Invited Assistant (Polytechnic Teacher) Instituto Politecnico do Porto Escola Superior de Tecnologia e Gestão, Portugal
Instituto Politécnico do Porto, Portugal
2012/09 - 2013/02 Invited Assistant (University Teacher) Universidade do Minho Escola de Engenharia, Portugal
Universidade do Minho, Portugal
2011/09 - 2012/02 Tutor (University Teacher) Universidade do Minho Escola de Engenharia, Portugal
Universidade do Minho, Portugal
2009/09 - 2010/02 Tutor (University Teacher) Universidade do Minho Escola de Engenharia, Portugal
Universidade do Minho, Portugal
Projects

Grant

Designation Funders
2010/09 - 2014/08 A Relational Approach to Bidirectional Transformation
SFRH/BD/69585/2010
PhD Student Fellow
Universidade do Minho Escola de Engenharia, Portugal
European Regional Development Fund

Fundação para a Ciência e a Tecnologia
Concluded

Contract

Designation Funders
2022/01 - 2023/12 SpecRep - Constraint-based Specification Repair
EXPL/CCI-COM/1637/2021
Principal investigator
Instituto de Engenharia de Sistemas e Computadores Tecnologia e Ciência, Portugal
Fundação para a Ciência e a Tecnologia
Concluded
2018/07 - 2021/10 SAFER - Safety Verification for Robotic Software
POCI-01-0145-FEDER-029583
Researcher
Instituto de Engenharia de Sistemas e Computadores Tecnologia e Ciência, Portugal
European Regional Development Fund

Fundação para a Ciência e a Tecnologia
Ongoing
2016/07 - 2019/06 TRUST - Trustworthy Software Design with Alloy
POCI-01-0145-FEDER-016826
Researcher
Instituto de Engenharia de Sistemas e Computadores, Tecnologia e Ciência, Portugal

Universidade do Minho, Portugal

Office National d’Études et de Recherches Aérospatiales, France
Education Research and Development Foundation

Fundação para a Ciência e a Tecnologia
Concluded
2017/01 - 2018/08 InteGrid - Demonstration of INTElligent grid technologies for renewables INTEgration and INTEractive consumer participation enabling INTEroperable market solutions and INTErconnected stakeholders
H2020 no. 731218
Post-doc Fellow
Instituto de Engenharia de Sistemas e Computadores Tecnologia e Ciência, Portugal

EDP, Portugal

SAP SE, Germany
European Union
Ongoing
2016/01 - 2016/12 NanoSTIMA RL1 - Macro-to-Nano Human Sensing Technologies
NORTE-01-0145-FEDER-000016
Post-doc Fellow
Instituto de Engenharia de Sistemas e Computadores, Tecnologia e Ciência, Portugal
European Regional Development Fund

Fundação para a Ciência e a Tecnologia
Concluded
2014/11 - 2015/06 BEST CASE RL8 - Languages and Tools for Critical Real-time Systems
NORTE-07-0124-FEDER-000062
Post-doc Fellow
Universidade do Minho, Portugal
European Regional Development Fund

Fundação para a Ciência e a Tecnologia
Concluded
2012/03 - 2014/06 FATBIT - Foundations, Applications and Tools for Bidirectional Transformation
FCOMP-01-0124-FEDER-020532
Researcher
Universidade do Minho, Portugal
European Regional Development Fund

Fundação para a Ciência e a Tecnologia
Concluded

Other

Designation Funders
2018/11 - Current VORTEX - CoLAB on Cyber-Physical Systems and Cyber Security
00000
Researcher
Instituto de Engenharia de Sistemas e Computadores Tecnologia e Ciência, Portugal

Altran Portugal, Portugal

Universidade Nova de Lisboa, Portugal

Instituto Politécnico do Porto Centro de Investigação em Sistemas Computacionais Embebidos e de Tempo-Real, Portugal
Fundação para a Ciência e a Tecnologia
Ongoing
Outputs

Publications

Book chapter
  1. Julien Brunel; David Chemouil; Alcino Cunha; Nuno Macedo. "Adding records to Alloy". In Proceedings of the 9th International Conference on Rigorous State Based Methods (ABZ'23), 212-219. Springer, 2023.
    Published • 10.1007/978-3-031-33163-3_16
  2. Alcino Cunha; Nuno Macedo; Eunsuk Kang. "Task model design and analysis with Alloy". In Proceedings of the 9th International Conference on Rigorous State Based Methods (ABZ'23), 303-320. Springer, 2023.
    Published • 10.1007/978-3-031-33163-3_23
  3. Nuno Macedo; Julien Brunel; David Chemouil; Cunha, Alcino. "Verifying temporal relational models with Pardinus". In Proceedings of the 9th International Conference on Rigorous State Based Methods (ABZ'23), 254-261. Springer, 2023.
    Published • 10.1007/978-3-031-33163-3_20
  4. Jorge Cerqueira; Alcino Cunha; Nuno Macedo. "Timely specification repair for Alloy 6". In Proceedings of the 20th International Conference on Software Engineering and Formal Methods (SEFM'22), 288-303. Springer, 2022.
    Published • 10.1007/978-3-031-17108-6_18
  5. Nuno Macedo; Alcino Cunha; Chong Liu. "Validating multiple variants of an automotive light system with Electrum". In Proceedings of the 7th International Conference on Rigorous State Based Methods (ABZ'20), 318-334. Springer, 2020.
    Published • 10.1007/978-3-030-48077-6_26
  6. Chong Liu; Nuno Macedo; Alcino Cunha. "Merging cloned Alloy models with colorful refactorings". In Proceedings of the 23rd Brazilian Symposium on Formal Methods: Foundations and Applications (SBMF'20), 173-191. Springer, 2020.
    Published • 10.1007/978-3-030-63882-5_11
  7. Nuno Macedo; Alcino Cunha; José Pereira; Renato Carvalho; Ana C. R. Paiva; Miguel S. Ramalho; Daniel C. Silva. "Experiences on teaching Alloy with an automated assessment platform". In Proceedings of the 7th International Conference on Rigorous State Based Methods (ABZ'20), 61-77. Springer, 2020.
    Published • 10.1007/978-3-030-48077-6_5
  8. Chong Liu; Nuno Macedo; Alcino Cunha. "Simplifying the analysis of software design variants with a colorful Alloy". In Proceedings of the 3rd IEEE International Conference on Robotic Computing (IRC'19), 38-55. Springer, 2019.
    Published • 10.1007/978-3-030-35540-1_3
  9. Julien Brunel; David Chemouil; Alcino Cunha; Thomas Hujsa; Nuno Macedo; Jeanne Tawa. "Proposition of an action layer for Electrum". In Proceedings of the 6th International Conference on Abstract State Machines, Alloy, B, TLA, VDM, and Z (ABZ'18), 397-402. Springer, 2018.
    Published • 10.1007/978-3-319-91271-4_30
  10. Alcino Cunha; Nuno Macedo. "Validating the Hybrid ERTMS/ETCS Level 3 concept with Electrum". In Proceedings of the 6th International Conference on Abstract State Machines, Alloy, B, TLA, VDM, and Z (ABZ'18), 307-321. Springer, 2018.
    Published • 10.1007/978-3-319-91271-4_21
  11. Nuno Macedo; Alcino Cunha. "Exploiting partial knowledge for efficient model analysis". In 15th International Symposium on Automated Technology for Verification and Analysis (ATVA'17), 344-362. Springer, 2017.
    Published • 10.1007/978-3-319-68167-2_23
  12. Orlando Belo; Bruno Oliveira; Nuno Macedo. "Towards a formal validation of ETL patterns behavior". In Proceedings of the 6th International Conference on Model and Data Engineering (MEDI'16), 156-165. Springer, 2016.
    Published • 10.1007/978-3-319-45547-1_13
  13. Nuno Macedo; Alcino Cunha; Tiago Guimarães. "Exploring scenario exploration". In Proceedings of the 18th International Conference on Fundamental Approaches on Software Engineering (FASE'15), 301-315. Springer, 2015.
    Published • 10.1007/978-3-662-46675-9_20
  14. Alcino Cunha; Nuno Macedo; Tiago Guimarães. "Target oriented relational model finding". In Proceedings of the 17th International Conference on Fundamental Approaches to Software Engineering (FASE'14), 17-31. Springer, 2014.
    Published • 10.1007/978-3-642-54804-8_2
  15. Nuno Macedo; Alcino Cunha. "Implementing QVT-R bidirectional model transformations using Alloy". In Proceedings of the 16th International Conference on Fundamental Approaches to Software Engineering (FASE'13), 297-311. Springer, 2013.
    Published • 10.1007/978-3-642-37057-1_22
  16. Nuno Macedo; Hugo Pacheco; Alcino Cunha. "Relations as executable specifications: Taming partiality and non-determinism using invariants". In Proceedings of the 13th International Conference on Relational and Algebraic Methods in Computer Science (RAMiCS'12), 146-161. Springer, 2012.
    Published • 10.1007/978-3-642-33314-9_10
Conference paper
  1. Cunha, Alcino; Nuno Macedo; José Creissac Campos; Iara Margolis; Emanuel Sousa. "Assessing the impact of hints in learning formal specification". Paper presented in IEEE/ACM International Conference on Software Engineering: Software Engineering Education and Training (SEET@ICSE), Lisbon, 2024.
    Accepted
  2. Abreu, Alexandre; Nuno Macedo; Mendes, Alexandra. "Exploring automatic specification repair in Dafny programs". Paper presented in International Workshop on Automated and Verifiable Software System Development (ASYDE), 2023.
    Published • 10.1109/ASEW60602.2023.00019
  3. André Santos; Alcino Cunha; Nuno Macedo; Sara Melo; Ricardo Pereira. "Variability analysis for Robot Operating System applications". Paper presented in IEEE International Conference on Robotic Computing (IRC), Naples, 2022.
    Accepted
  4. Pedro Silva; José N. Oliveira; Nuno Macedo; Alcino Cunha. "Quantitative relational modelling with QAlloy". Paper presented in ACM Joint European Software Engineering Conference and Symposium on the Foundations of Software Engineering (ESEC/FSE), Singapore, 2022.
    Published • 10.1145/3540250.3549154
  5. João Martins; José M. Fonseca; Rafael Costa; José Creissac Campos; Alcino Cunha; Nuno Macedo; José N. Oliveira. "Verification of railway network models with EVEREST". Paper presented in International Conference on Model Driven Engineering Languages and Systems (MODELS), Montreal, 2022.
    Published • 10.1145/3550355.3552439
  6. André Santos; Alcino Cunha; Nuno Macedo. "Schema-guided testing of message-oriented systems". Paper presented in International Conference on Evaluation of Novel Approaches to Software Engineering (ENASE), Virtual, 2022.
    Published • 10.5220/0010976100003176
  7. André Santos; Alcino Cunha; Nuno Macedo. "The High-Assurance ROS framework". Paper presented in International Workshop on Robotics Software Engineering (RoSE), Madrid, 2021.
    Published • 10.1109/rose52553.2021.00013
  8. Hugo Pacheco; Nuno Macedo. "ROSY: An elegant language to teach the pure reactive nature of robot programming". Paper presented in IEEE International Conference on Robotic Computing (IRC), Taichung, 2020.
    Published • 10.1109/IRC.2020.00045
  9. Renato Carvalho; Alcino Cunha; Nuno Macedo; André Santos. "Verification of system-wide safety properties of ROS applications". Paper presented in IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS), Taichung, 2020.
    Published • 10.1109/IROS45743.2020.9341085
  10. Julien Brunel; David Chemouil; Alcino Cunha; Nuno Macedo. "Simulation under arbitrary temporal logic constraints". Paper presented in Workshop on Formal Integrated Development Environment (F-IDE), Porto, 2019.
    Published • 10.4204/EPTCS.310.7
  11. André Santos; Alcino Cunha; Nuno Macedo. "Static-time extraction and analysis of the ROS computation graph". Paper presented in IEEE International Conference on Robotic Computing (IRC), Naples, 2019.
    Published • 10.1109/irc.2019.00018
  12. André Santos; Alcino Cunha; Nuno Macedo. "Property-based testing for the robot operating system". Paper presented in ACM SIGSOFT International Workshop on Automating TEST Case Design, Selection, and Evaluation (A-TEST), Lake Buena Vista, FL, 2018.
    Published • 10.1145/3278186.3278195
  13. Julien Brunel; David Chemouil; Alcino Cunha; Nuno Macedo. "The Electrum Analyzer: Model checking relational first-order temporal specifications". Paper presented in ACM/IEEE International Conference on Automated Software Engineering (ASE), Montpellier, 2018.
    Published • 10.1145/3238147.3240475
  14. Rui Couto; José Creissac Campos; Nuno Macedo; Alcino Cunha. "Improving the visualization of Alloy instances". Paper presented in Workshop on Formal Integrated Development Environment (F-IDE), Oxford, 2018.
    Published • 10.4204/EPTCS.284.4
  15. Mariana Carvalho; Nuno Macedo; Orlando Belo. "Checking the correctness of what-if scenarios". Paper presented in 11th IFIP WG 8.9 Working Conference (CONFENIS), Shangai, 2017.
  16. André Santos; Alcino Cunha; Nuno Macedo; Rafael Arrais; Filipe Neves dos Santos. "Mining the usage patterns of ROS primitives". Paper presented in IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS), Vancouver, 2017.
    Published • 10.1109/iros.2017.8206237
  17. Raju Halder; José Proença; Nuno Macedo; André Santos. "Formal verification of ROS-based robotic applications using timed-automata". Paper presented in IEEE/ACM International FME Workshop on Formal Methods in Software Engineering (FormaliSE), Buenos Aires, 2017.
    Published • 10.1109/FormaliSE.2017.9
  18. Nuno Macedo; Julien Brunel; David Chemouil; Alcino Cunha; Denis Kuperberg. "Lightweight specification and analysis of dynamic systems with rich configurations". Paper presented in ACM SIGSOFT International Symposium on Foundations of Software Engineering (FSE), Seattle, WA, 2016.
    Published • 10.1145/2950290.2950318
  19. André Santos; Alcino Cunha; Nuno Macedo; Cláudio Lourenço. "A framework for quality assessment of ROS repositories". Paper presented in IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS), Daejeon, 2016.
    Published • 10.1109/iros.2016.7759661
  20. João M. Moreira; Alcino Cunha; Nuno Macedo. "An ORCID based synchronization framework for a national CRIS ecosystem". Paper presented in ORCID-Casrai Joint Conference, Barcelona, 2015.
    Published
  21. Nuno Macedo; Hugo Pacheco; Nuno Rocha Sousa; Alcino Cunha. "Bidirectional spreadsheet formulas". Paper presented in IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC), Melbourne, 2014.
    Published • 10.1109/VLHCC.2014.6883041
  22. Nuno Macedo; Alcino Cunha; Hugo Pacheco. "Towards a framework for multidirectional model transformations". Paper presented in International Workshop on Bidirectional Transformations (BX), Athens, 2014.
    Published
  23. Nuno Macedo; Tiago Guimarães; Alcino Cunha. "Model repair and transformation with Echo". Paper presented in IEEE/ACM International Conference on Automated Software Engineering (ASE), Palo Alto, CA, 2013.
    Published • 10.1109/ASE.2013.6693135
  24. Nuno Macedo; Hugo Pacheco; Alcino Cunha; José N. Oliveira. "Composing least-change lenses". Paper presented in International Workshop on Bidirectional Transformations (BX), Roma, 2013.
    Published
Journal article
  1. Nuno Macedo; Cunha, Alcino; Chong Liu. "Validating multiple variants of an automotive light system with Electrum". nternational Journal on Software Tools for Technology Transfer (2024):
    Accepted
  2. Nuno Macedo; Julien Brunel; David Chemouil; Alcino Cunha. "Pardinus: A temporal relational model finder". Journal of Automated Reasoning 66 4 (2022): 861-904.
    Published • 10.1007/s10817-022-09642-2
  3. Chong Liu; Nuno Macedo; Alcino Cunha. "Merging cloned Alloy models with colorful refactorings". Science of Computer Programming 220 (2022): 102829.
    Published • 10.1016/j.scico.2022.102829
  4. Nuno Macedo; Alcino Cunha; José Pereira; Renato Carvalho; Ricardo Silva; Ana C.R. Paiva; Miguel Sozinho Ramalho; Daniel Silva. "Experiences on teaching Alloy with an automated assessment platform". Science of Computer Programming 211 (2021): 102690.
    Published • 10.1016/j.scico.2021.102690
  5. Hugo Pacheco; Nuno Macedo. "ROSY: An elegant language to teach the pure reactive nature of robot programming". International Journal of Robotic Computing 3 1 (2021): 22-46.
    Published • 10.35708/rc1870-126264
  6. Alcino Cunha; Nuno Macedo. "Validating the Hybrid ERTMS/ETCS Level 3 concept with Electrum". International Journal on Software Tools for Technology Transfer 22 3 (2020): 281-296.
    Published • 10.1007/s10009-019-00540-4
  7. José Bacelar Almeida; Alcino Cunha; Nuno Macedo; Hugo Pacheco; José Proença. "Teaching how to program using automated assessment and functional glossy games (experience report)". Proceedings of the ACM on Programming Languages 2 ICFP (2018): 82:1-82:17.
    Published • 10.1145/3236777
  8. Nuno Macedo; Tiago Jorge; Alcino Cunha. "A feature-based classification of model repair approaches". IEEE Transactions on Software Engineering 43 7 (2017): 615-640.
    Published • 10.1109/tse.2016.2620145
  9. Nuno Macedo; Alcino Cunha. "Least-change bidirectional model transformation with QVT-R and ATL". Software & Systems Modeling 15 3 (2016): 783-810.
    Published • 10.1007/s10270-014-0437-x
  10. João M. Moreira; Alcino Cunha; Nuno Macedo. "An ORCID based synchronization framework for a national CRIS ecosystem". F1000Research 4 181 (2015): 1-11.
    Published • 10.12688/f1000research.6499.1
  11. Nuno Macedo; Hugo Pacheco; Alcino Cunha; José N. Oliveira. "Composing least-change lenses". Electronic Communications of the EASST 57 (2013): 1-19.
    Published • 10.14279/tuj.eceasst.57.868.862
Report
  1. Anthony Anjorin; Anthony Cleve; Sebastian Copei; Zinovy Diskin; Jeremy Gibbons; Hsiang-Shang Ko; Nuno Macedo; et al. 2018. WG2: Partial consistency notions. https://drops.dagstuhl.de/opus/volltexte/dagrep-complete/2018/dagrep-v008-i012-complete.pdf#page=10.
  2. Nuno Macedo; Alcino Cunha. 2016. PTCRISync specification: An ORCID-based synchronization framework for PTCRIS. https://github.com/fccn/PTCRISync/wiki/tech/report_v0_4_3.pdf.
Thesis / Dissertation
  1. Nuno Macedo. "A relational approach to bidirectional transformation". PhD, Universidade do Minho, 2014. https://hdl.handle.net/1822/35480.
  2. Nuno Macedo. "Translating Alloy specifications to the point-free style". Master, Universidade do Minho, 2010. https://hdl.handle.net/1822/28945.
Website
  1. Nuno Macedo. Alloy4Fun. 2018. http://alloy4fun.inesctec.pt/.
  2. Nuno Macedo. LI1 Hall of Fame. 2016. https://haslab.github.io/Teaching/LI1/.
Working paper
  1. Nuno Macedo; Alcino Cunha; José Pereira; Renato Carvalho; Ricardo Silva; Ana C. R. Paiva; Miguel S. Ramalho; Daniel C. Silva. 2019. "Sharing and learning Alloy on the web". http://arxiv.org/abs/1907.02275.
  2. Hugo Pacheco; Nuno Macedo. 2019. "ROSY: An elegant language to teach the pure reactive nature of robot programming". http://arxiv.org/abs/1911.03262.
  3. Nuno Macedo; Alcino Cunha. 2016. "Alloy meets TLA+: An exploratory study". http://arxiv.org/abs/1603.03599.
  4. Nuno Macedo; Tiago Jorge; Alcino Cunha. 2015. "A feature-based classification of model repair approaches". http://arxiv.org/abs/1504.03947.
  5. Hugo Pacheco; Nuno Macedo; Alcino Cunha; Janis Voigtländer. 2013. "A generic scheme and properties of bidirectional transformation". http://arxiv.org/abs/1306.4473.
  6. Nuno Macedo; Hugo Pacheco; Alcino Cunha. 2012. "Relations as executable specifications: Taming partiality and non-determinism using invariants". https://nmacedo.github.io/pubs/HASLab12.pdf.
  7. Nuno Macedo; Alcino Cunha. 2012. "Automatic unbounded verification of Alloy specifications with Prover9". http://arxiv.org/abs/1209.5773.

Other

Dataset
  1. Nuno Macedo; Cunha, Alcino; José Creissac Campos; Iara Margolis; Emanuel Sousa. Assessing the impact of hints in learning formal specification: Research artifact. https://zenodo.org/doi/10.5281/zenodo.10450608. 2024.
  2. Nuno Macedo; Cunha, Alcino; Ana C. R. Paiva. Alloy4Fun Dataset. https://zenodo.org/doi/10.5281/zenodo.4665671. 2020.
Software
  1. Nuno Macedo; José Pereira; Renato Carvalho; Ricardo Silva; Miguel Sozinho Ramalho; Daniel Castro Silva. "Alloy4Fun". Instituto de Engenharia de Sistemas e Computadores Tecnologia e Ciência. 2018.
  2. Nuno Macedo. "PTCRISync". Fundacao para a Computacao Cientifica Nacional. 2016.
  3. Nuno Macedo. "Pardinus". Instituto de Engenharia de Sistemas e Computadores Tecnologia e Ciência. 2016.
  4. Nuno Macedo. "Electrum". Instituto de Engenharia de Sistemas e Computadores Tecnologia e Ciência. 2015.
  5. Nuno Macedo. "Echo". Universidade do Minho. 2013.
Activities

Oral presentation

Presentation title Event name
Host (Event location)
2023/05 Teaching Alloy with Alloy4Fun Teaching Alloy with Alloy4Fun (Tutorial@ABZ'23)
LORIA, Nancy, France (Nancy, France)
2022/12 Variability Analysis for Robot Operating System Applications 6th IEEE International Conference on Robotic Computing (IRC'22)
University of Naples Federico II (Remotely) (Naples, Italy)
2022/10 Verification of railway network models with EVEREST 25th ACM/IEEE International Conference on Model Driven Engineering Languages and Systems (MODELS'22)
Université de Montréal (Montreal, Canada)
2021/09 Improving the Quality of ROS Applications with HAROS: Opening Lecture Improving the Quality of ROS Applications with HAROS (Tutorial@IROS'21)
Czech Technical University in Prague (Remotely) (Prague, Czech Republic)
2021/06 Validating multiple variants of an automotive light system with Electrum 8th International Conference on Rigorous State Based Methods (ABZ'21)
Ulm University (Remotely) (Ulm, Germany)
2020/11 ROSY: An elegant language to teach the pure reactive nature of robot programming 4th IEEE International Conference on Robotic Computing (IRC'20)
Asia University (Remotely) (Taichung, Taiwan)
2020/10 Verification of system-wide safety properties of ROS applications 2020 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS'20)
University of Nevada (Remotely) (Las Vegas, NV, United States)
2019/10 Formal software design with Alloy and Electrum: Methodology and tips Formal software design with Alloy and Electrum (Tutorial@FM'19)
INESC TEC - Institute for Systems and Computer Engineering, Technology and Science (Porto, Portugal)
2018/06 Validating the Hybrid ERTMS/ETCS Level 3 concept with Electrum 6th International ABZ Conference ASM, Alloy, B, TLA, VDM, Z (ABZ'18)
University of Southampton (Southampton, United Kingdom)
2018/05 On extending Kodkod to support temporal features and scenario exploration Workshop on the Future of Alloy
Massachusetts Institute of Technology, Computer Science and Artificial Intelligence Laboratory (Cambridge, MA, United States)
2017/10 Exploiting partial knowledge for efficient model analysis 15th International Symposium on Automated Technology for Verification and Analysis (ATVA'17)
Tata Consultancy Services (Pune, India)
2016/11 Lightweight specification and analysis of dynamic systems with rich configurations 24th ACM SIGSOFT International Symposium on the Foundations of Software Engineering (FSE'16)
(Seattle, WA, United States)
2015/04 Exploring scenario exploration 18th International Conference on Fundamental Approaches to Software Engineering (FASE'15)
Queen Mary University of London (London, United Kingdom)
2014/07 Bidirectional spreadsheet formulas 2014 IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC'14)
Swinburne University of Technology (Melbourne, Australia)
2014/03 Towards a framework for multidirectional model transformations 3rd International Workshop on Bidirectional Transformations (BX'14)
University of Crete (Athens, Greece)
2013/11 Model repair and transformation with Echo 28th IEEE/ACM International Conference on Automated Software Engineering (ASE'13)
Stinger Ghaffarian Technologies (Palo Alto, CA, United States)
2013/03 Implementing QVT-R bidirectional model transformations using Alloy 16th International Conference on Fundamental Approaches to Software Engineering (FASE'13)
Sapienza, University of Rome (Rome, Italy)
2012/09 Relations as executable specifications: Taming partiality and non-determinism using invariants 13th International Conference on Relational and Algebraic Methods in Computer Science (RAMiCS'12)
Universidade de Cambridge (Cambridge, United Kingdom)

Supervision

Thesis Title
Role
Degree Subject (Type)
Institution / Organization
2023/09 - Current Stateful security testing of web APIs
Supervisor of Gédsimon Pereira
Software Engineering (Master)
Universidade do Porto Faculdade de Engenharia, Portugal
2023/09 - Current Automated repair for verification-aware programming languages
Co-supervisor of Valentina Wu
Informatics Engineering (Master)
Universidade do Porto Faculdade de Engenharia, Portugal
2023/09 - Current Security verification for trustworthy software design
Co-supervisor of Rui Gonçalves
Information Security (Master)
Universidade do Porto Faculdade de Ciências, Portugal
2023/09 - Current Security-aware specifications for web APIs
Co-supervisor of David Guedes
Information Security (Master)
Universidade do Porto Faculdade de Ciências, Portugal
2023/09 - Current Automated repair in contract programming
Supervisor of Alexandre Abreu
Informatics Engineering (PhD)
Universidade do Porto Faculdade de Engenharia, Portugal
2021/10 - Current High-level quantitative relational model finding
Co-supervisor of Pedro Silva
Computer Science (PhD)
Universidade do Minho Escola de Engenharia, Portugal
2022/09 - 2023/12 Mining hints for fixing formal specifications
Co-supervisor of Henrique Neto
Informatics Engineering (Master)
Universidade do Minho Escola de Engenharia, Portugal
2022/09 - 2023/10 Security testing of web APIs
Co-supervisor of Gonçalo Teixeira
Informatics Engineering (Master)
Universidade do Porto Faculdade de Engenharia, Portugal
2022/09 - 2023/09 Automatic specification repair in contract programming
Supervisor of Alexandre Abreu
Informatics Engineering (Master)
Universidade do Porto Faculdade de Engenharia, Portugal
2022/09 - 2023/07 History-based hint generation for formal specifications
Supervisor of Ana Barros
Informatics Engineering (Master)
Universidade do Porto Faculdade de Engenharia, Portugal
2021/09 - 2022/11 Automatic repair of behavioural specifications
Co-supervisor of Jorge Cerqueira
Informatics Engineering (Master)
Universidade do Minho Escola de Engenharia, Portugal
2017/09 - 2021/12 Lightweight trustworthy software high-level design
Supervisor of Chong Liu
Computer Science (PhD)
Universidade do Minho Escola de Engenharia, Portugal
2020/09 - 2021/10 Graph databases for HR relationships
Supervisor of Rafael Moura
Computer Engineering (Master)
Universidade do Porto Faculdade de Engenharia, Portugal
2019/09 - 2021/06 Towards a quantitative Alloy
Co-supervisor of Pedro Silva
Informatics Engineering (Master)
Universidade do Minho Escola de Engenharia, Portugal
2016/09 - 2021/01 Safety verification for ROS software
Supervisor of André Santos
Computer Science (PhD)
Universidade do Minho Escola de Engenharia, Portugal
2018/09 - 2020/07 Analysis of message passing software using Electrum
Supervisor of Bruno Carvalho
Informatics Engineering (Master)
Universidade do Minho Escola de Engenharia, Portugal
2016/09 - 2017/09 A web-based social environment for Alloy
Co-supervisor of José Pereira
Informatics Engineering (Master)
Universidade do Minho Escola de Engenharia, Portugal
2016/09 - 2017/09 Parallel verification of dynamic systems with rich configurations
Supervisor of Eduardo Pessoa
Informatics Engineering (Master)
Universidade do Minho Escola de Engenharia, Portugal
2015/09 - 2016/09 Software quality for the Robot Operating System
Co-supervisor of Miguel Costa
Informatics Engineering (Master)
Universidade do Minho Escola de Engenharia, Portugal
2015/09 - 2016/09 Applying coding standards to the Robot Operating System
Co-supervisor of André Santos
Informatics Engineering (Master)
Universidade do Minho Escola de Engenharia, Portugal

Event organisation

Event name
Type of event (Role)
Institution / Organization
2023/06 - 2023/06 Tutorial on Teaching Alloy with Alloy4Fun @ABZ'23 (2023/06 - 2023/06)
Seminar (Co-organisor)
Instituto de Engenharia de Sistemas e Computadores Tecnologia e Ciência, Portugal
2021/05 - 2022/06 8th International Conference on Information and Communications Technology for Sustainability (ICT4S'22) (2021/06 - 2022/06)
Conference (Member of the Organising Committee)
Plovdiv University "Paisii Hilendarski", Bulgaria
2021 - 2021 Tutorial on Improving the Quality of ROS Applications with HAROS @IROS'21 (2021/10 - 2021/10)
Seminar (Co-organisor)
Instituto de Engenharia de Sistemas e Computadores Tecnologia e Ciência, Portugal

CoLAB em Sistemas Cyber-físcios e Cyber Segurança, Portugal
2019 - 2019 Tutorial on Formal software design with Alloy and Electrum @FM'19 (2019/10 - 2019/10)
Seminar (Co-organisor)
Instituto de Engenharia de Sistemas e Computadores Tecnologia e Ciência, Portugal

Office National d’Études et de Recherches Aérospatiales, France

Event participation

Activity description
Type of event
Event name
Institution / Organization
2019/07 - 2019/07 Tutor.
Workshop
Summer on Campus
Universidade do Minho, Portugal
2018/12 - 2018/12 Participant.
Seminar
Dagstuhl Seminar on Multidirectional Transformations (18491)
Schloss Dagstuhl Leibniz-Zentrum für Informatik GmbH, Germany
2018/04 - 2018/04 Invited speaker and participant.
Workshop
Workshop on the Future of Alloy
Massachusetts Institute of Technology Computer Science and Artificial Intelligence Laboratory, United States
2017/04 - 2017/04 Participant.
Workshop
Workshop em Arquiteturas de Informação em Ensino Superior e Ciência
Secretaria de Estado da Ciência, Tecnologia e Ensino Superior, Portugal
2017/04 - 2017/04 Tutor.
Workshop
Best Students programme
Universidade do Minho, Portugal

Jury of academic degree

Topic
Role
Candidate name (Type of degree)
Institution / Organization
2024/03 Blockchain meets Alloy
(Thesis) Main arguer
Diogo Araújo (Master)
Universidade do Minho, Portugal
2022/11 Secure in-vehicle storage
(Thesis) Main arguer
José Sousa (Master)
Universidade do Porto Faculdade de Ciências, Portugal
2021/11 Web scraping analysis and prevention mechanisms
(Thesis) Main arguer
Maria Pereira (Master)
Universidade do Porto Faculdade de Ciências, Portugal
2020/11 Property-based testing of ERC-20 smart contracts
(Thesis) Main arguer
Célio Rodrigues (Master)
Universidade do Porto Faculdade de Ciências, Portugal

Conference scientific committee

Conference name Conference host
2023 - 2023 9th International Conference on Rigorous State Based Methods (ABZ'23) LORIA, Nancy, France
2023 - 2023 27th Brazilian Symposium on Programming Languages (SBLP'23) Universidade Federal de Mato Grosso do Sul, Brazil
2023 - 2023 European Joint Conferences on Theory and Practice of Software: Artifact Evaluation (AE@ETAPS'24) University of Luxembourg, Luxembourg
2023 - 2023 7th IEEE International Conference on Robotic Computing (IRC'23) Laguna Hills, California
2022 - 2022 6th IEEE International Conference on Robotic Computing (IRC'22) Naples, Italy
2022 - 2022 26th Brazilian Symposium on Programming Languages (SBLP'22) Uberlândia, Minas Gerais, Brazil
2022 - 2022 13º Simpósio de Informática (INForum'22) Guarda, Portugal
2021 - 2021 5th IEEE International Conference on Robotic Computing (IRC'21) Taichung, Taiwan
2021 - 2021 12º Simpósio de Informática (INForum'21) Lisbon, Portugal
2021 - 2021 1st Workshop on Quality and Reliability Assessment of Robotic Software Architectures and Components (QRARSAC'21) Prague, Czech Republic

Consulting

Activity description Institution / Organization
2020/02 - 2023/03 Consultancy on the trustworthy design and development of DigiLightRail Efacec Power Solutions, Portugal
2015/05 - 2017/12 Consultancy on the trustworthy design and development of PTCRISync Fundacao para a Computacao Cientifica Nacional, Portugal

Course / Discipline taught

Academic session Degree Subject (Type) Institution / Organization
2024/02 - 2024/07 Métodos Formais para Sistemas Críticos Informatics Engineering (Mestrado) Universidade do Porto Faculdade de Engenharia, Portugal
2024/02 - 2024/07 Teoria da Computação Informatics Engineering (Licenciatura) Universidade do Porto Faculdade de Engenharia, Portugal
2023/09 - 2024/02 Fundamentos da Programação Informatics Engineering (Licenciatura) Universidade do Porto Faculdade de Engenharia, Portugal
2023/02 - 2023/07 Métodos Formais para Sistemas Críticos Informatics Engineering (Mestrado) Universidade do Porto Faculdade de Engenharia, Portugal
2023/02 - 2023/07 Teoria da Computação Informatics Engineering Universidade do Porto Faculdade de Engenharia, Portugal
2022/09 - 2023/02 Fundamentos da Programação Informatics Engineering (Licenciatura) Universidade do Porto Faculdade de Engenharia, Portugal
2022/09 - 2023/02 Laboratório de Desenho e Teste de Software Informatics Engineering (Licenciatura) Universidade do Porto Faculdade de Engenharia, Portugal
2022/02 - 2022/07 Métodos Formais para Sistemas Críticos Informatics Engineering (Mestrado) Universidade do Porto Faculdade de Engenharia, Portugal
2022/02 - 2022/07 Teoria da Computação Informatics Engineering (Licenciatura) Universidade do Porto Faculdade de Engenharia, Portugal
2021/09 - 2022/02 Fundamentos da Programação Informatics Engineering (Licenciatura) Universidade do Porto Faculdade de Engenharia, Portugal
2021/09 - 2022/02 Teoria da Computação Informatics Engineering (Licenciatura) Universidade do Porto Faculdade de Engenharia, Portugal
2021/02 - 2021/07 Sistemas Operativos Informatics Engineering (Mestrado integrado) Universidade do Porto Faculdade de Engenharia, Portugal
2020/09 - 2021/02 Fundamentos da Programação Informatics Engineering (Mestrado integrado) Universidade do Porto Faculdade de Engenharia, Portugal
2020/09 - 2021/02 Métodos Formais em Engenharia de Software Informatics Engineering (Mestrado integrado) Universidade do Porto Faculdade de Engenharia, Portugal
2020/02 - 2020/07 Cálculo de Programas Informatics Engineering (Mestrado integrado) Universidade do Minho Escola de Engenharia, Portugal
2019/09 - 2020/02 Especificação e Modelação Informatics Engineering (Mestrado integrado) Universidade do Minho Escola de Engenharia, Portugal
2019/09 - 2020/02 Especificação e Modelação Mathematics and Computation (Mestrado) Universidade do Minho Escola de Ciências, Portugal
2019/09 - 2020/02 Laboratórios de Informática I Informatics Engineering (Mestrado integrado) Universidade do Minho Escola de Engenharia, Portugal
2019/02 - 2019/07 Programação Imperativa Informatics Engineering (Mestrado integrado) Universidade do Minho Escola de Engenharia, Portugal
2019/02 - 2019/07 Programação Imperativa Computer Science (Licenciatura) Universidade do Minho Escola de Ciências, Portugal
2018/09 - 2019/02 Especificação e Modelação Informatics Engineering (Mestrado integrado) Universidade do Minho Escola de Engenharia, Portugal
2018/09 - 2019/02 Especificação e Modelação Mathematics and Computation (Mestrado) Universidade do Minho Escola de Ciências, Portugal
2018/02 - 2018/07 Programação Imperativa Informatics Engineering (Mestrado integrado) Universidade do Minho Escola de Engenharia, Portugal
2017/09 - 2018/02 Programação Funcional Informatics Engineering (Mestrado integrado) Universidade do Minho Escola de Engenharia, Portugal
2017/09 - 2018/02 Laboratórios de Informática I Informatics Engineering (Mestrado integrado) Universidade do Minho Escola de Engenharia, Portugal
2017/02 - 2017/07 Informática Aplicada (LAD) Applied Languages (Licenciatura) Universidade do Minho Instituto de Letras e Ciências Humanas, Portugal
2016/09 - 2017/02 Laboratórios de Informática I Informatics Engineering (Mestrado integrado) Universidade do Minho Escola de Engenharia, Portugal
2016/09 - 2017/02 Programação Funcional Physics Engineering (Mestrado integrado) Universidade do Minho Escola de Ciências, Portugal
2016/09 - 2017/02 Programação Funcional Computer Science (Licenciatura) Universidade do Minho Escola de Ciências, Portugal
2015/09 - 2016/02 Laboratórios de Informática I Informatics Engineering (Mestrado integrado) Universidade do Minho Escola de Engenharia, Portugal
2015/09 - 2016/02 Especificação e Modelação Informatics Engineering (Mestrado integrado) Universidade do Minho Escola de Engenharia, Portugal
2015/09 - 2016/02 Especificação e Modelação Mathematics and Computation (Mestrado) Universidade do Minho Escola de Ciências, Portugal
2013/09 - 2014/02 Laboratórios de Desenvolvimento de Software Informatics Engineering (Licenciatura) Instituto Politecnico do Porto Escola Superior de Tecnologia e Gestão, Portugal
2012/09 - 2013/02 Laboratórios de Informática I Informatics Engineering (Licenciatura) Universidade do Minho Escola de Engenharia, Portugal
2011/09 - 2012/02 Laboratórios de Informática I Informatics Engineering (Licenciatura) Universidade do Minho Escola de Engenharia, Portugal
2009/09 - 2010/02 Laboratórios de Informática I Informatics Engineering (Licenciatura) Universidade do Minho Escola de Engenharia, Portugal

Journal scientific committee

Journal title (ISSN) Publisher
2024 - 2024 International Journal of Advanced Robotic Systems (Reviewer) (1729-8806) SAGE
2024 - 2024 Science of Computer Programming (Reviewer) Elsevier
2024 - 2024 IEEE Transactions on Automation Science and Engineering (Reviewer) IEEE
2024 - 2024 International Journal on Software Tools for Technology Transfer (Reviewer) Springer
2022 - 2023 Robotics and Autonomous Systems (Reviewer) (0921-8890) Elsevier
2022 - 2022 Journal of Computer Languages (Reviewer) (2590-1184) Elsevier
2022 - 2022 IEEE Transactions on Dependable and Secure Computing (Reviewer) (1545-5971) IEEE
2021 - 2022 IEEE Transactions on Software Engineering (Reviewer) (0098-5589 ) IEEE
2021 - 2021 Scientific Annals of Computer Science (Reviewer) (2248-2695) Alexandru Ioan Cuza
2017 - 2021 Software & Systems Modeling (Reviewer) (1619-1366) Springer
2017 - 2021 Journal of Systems and Software (Reviewer) (0164-1212) Elsevier
2019 - 2020 ACM Transactions on Software Engineering and Methodology (Reviewer) (1049-331X) ACM
2019 - 2019 PLoS ONE (Reviewer) (1932-6203) Public Library of Science
2017 - 2017 IEEE Transactions on Industrial Informatics (Reviewer) (1551-3203) IEEE
2016 - 2016 Journal of Object Technology (Reviewer) (1660-1769) ETH Swiss Federal Institute of Technology

Other jury / evaluation

Activity description Institution / Organization
2022/11 - 2022/11 Expert in the call for Specialized Technological Centers C01/C06-i01.01/2022 Agência Nacional para a Qualificação e o Ensino Profissional IP, Portugal