???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.
Identificação

Identificação pessoal

Nome completo
Nuno Macedo

Nomes de citação

  • Nuno Macedo

Identificadores de autor

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

Domínios de atuação

  • Ciências Exatas - Ciências da Computação e da Informação - Ciências da Computação
Formação
Grau Classificação
2010/09 - 2014/10
Concluído
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" (TESE/DISSERTAÇÃO)
2008/09 - 2010/09
Concluído
MSc in Informatics (Mestrado)
Universidade do Minho, Portugal
"Reasoning about Alloy Specifications using Point-free Calculus" (TESE/DISSERTAÇÃO)
2005/09 - 2008/08
Concluído
BSc in Informatics Engineering (Licenciatura)
Universidade do Minho, Portugal
Percurso profissional

Ciência

Categoria Profissional
Instituição de acolhimento
Empregador
2020/09 - Atual Investigador (Investigação) Universidade do Porto Faculdade de Engenharia, Portugal
Instituto de Engenharia de Sistemas e Computadores Tecnologia e Ciência, Portugal
2018/09 - 2020/08 Investigador Contratado (Investigação) 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 Pós-doutorado (Investigação) 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 Pós-doutorado (Investigação) Universidade do Minho, Portugal
Universidade do Minho, Portugal
2009/09 - 2014/10 Investigador (Investigação) Instituto de Engenharia de Sistemas e Computadores Tecnologia e Ciência, Portugal
Universidade do Minho, Portugal

Docência no Ensino Superior

Categoria Profissional
Instituição de acolhimento
Empregador
2020/09 - Atual Professor Auxiliar (Docente Universitário) Universidade do Porto Faculdade de Engenharia, Portugal
Universidade do Porto, Portugal
2015/09 - 2020/08 Professor Auxiliar Convidado (Docente Universitário) Universidade do Minho Escola de Engenharia, Portugal
Universidade do Minho, Portugal
2013/09 - 2014/02 Assistente convidado (Docente Ensino Superior Politécnico) Instituto Politecnico do Porto Escola Superior de Tecnologia e Gestão, Portugal
Instituto Politécnico do Porto, Portugal
2012/09 - 2013/02 Assistente Convidado (Docente Universitário) Universidade do Minho Escola de Engenharia, Portugal
Universidade do Minho, Portugal
2011/09 - 2012/02 Monitor (Docente Universitário) Universidade do Minho Escola de Engenharia, Portugal
Universidade do Minho, Portugal
2009/09 - 2010/02 Monitor (Docente Universitário) Universidade do Minho Escola de Engenharia, Portugal
Universidade do Minho, Portugal
Projetos

Bolsa

Designação Financiadores
2010/09 - 2014/08 A Relational Approach to Bidirectional Transformation
SFRH/BD/69585/2010
Bolseiro de Doutoramento
Universidade do Minho Escola de Engenharia, Portugal
European Regional Development Fund

Fundação para a Ciência e a Tecnologia
Concluído

Projeto

Designação Financiadores
2022/01 - 2023/12 SpecRep - Constraint-based Specification Repair
EXPL/CCI-COM/1637/2021
Investigador responsável
Instituto de Engenharia de Sistemas e Computadores Tecnologia e Ciência, Portugal
Fundação para a Ciência e a Tecnologia
Concluído
2018/07 - 2021/10 SAFER - Safety Verification for Robotic Software
POCI-01-0145-FEDER-029583
Investigador
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
Em curso
2016/07 - 2019/06 TRUST - Trustworthy Software Design with Alloy
POCI-01-0145-FEDER-016826
Investigador
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, França
Education Research and Development Foundation

Fundação para a Ciência e a Tecnologia
Concluído
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
Bolseiro de Pós-Doutoramento
Instituto de Engenharia de Sistemas e Computadores Tecnologia e Ciência, Portugal

EDP, Portugal

SAP SE, Alemanha
European Union
Em curso
2016/01 - 2016/12 NanoSTIMA RL1 - Macro-to-Nano Human Sensing Technologies
NORTE-01-0145-FEDER-000016
Bolseiro de Pós-Doutoramento
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
Concluído
2014/11 - 2015/06 BEST CASE RL8 - Languages and Tools for Critical Real-time Systems
NORTE-07-0124-FEDER-000062
Bolseiro de Pós-Doutoramento
Universidade do Minho, Portugal
European Regional Development Fund

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

Fundação para a Ciência e a Tecnologia
Concluído

Outro

Designação Financiadores
2018/11 - Atual VORTEX - CoLAB on Cyber-Physical Systems and Cyber Security
00000
Investigador
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
Em curso
Produções

Publicações

Artigo em conferência
  1. Cunha, Alcino; Nuno Macedo; José Creissac Campos; Iara Margolis; Emanuel Sousa. "Assessing the impact of hints in learning formal specification". Trabalho apresentado em IEEE/ACM International Conference on Software Engineering: Software Engineering Education and Training (SEET@ICSE), Lisbon, 2024.
    Aceite para publicação
  2. Abreu, Alexandre; Nuno Macedo; Mendes, Alexandra. "Exploring automatic specification repair in Dafny programs". Trabalho apresentado em International Workshop on Automated and Verifiable Software System Development (ASYDE), 2023.
    Publicado • 10.1109/ASEW60602.2023.00019
  3. André Santos; Alcino Cunha; Nuno Macedo; Sara Melo; Ricardo Pereira. "Variability analysis for Robot Operating System applications". Trabalho apresentado em IEEE International Conference on Robotic Computing (IRC), Naples, 2022.
    Aceite para publicação
  4. Pedro Silva; José N. Oliveira; Nuno Macedo; Alcino Cunha. "Quantitative relational modelling with QAlloy". Trabalho apresentado em ACM Joint European Software Engineering Conference and Symposium on the Foundations of Software Engineering (ESEC/FSE), Singapore, 2022.
    Publicado • 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". Trabalho apresentado em International Conference on Model Driven Engineering Languages and Systems (MODELS), Montreal, 2022.
    Publicado • 10.1145/3550355.3552439
  6. André Santos; Alcino Cunha; Nuno Macedo. "Schema-guided testing of message-oriented systems". Trabalho apresentado em International Conference on Evaluation of Novel Approaches to Software Engineering (ENASE), Virtual, 2022.
    Publicado • 10.5220/0010976100003176
  7. André Santos; Alcino Cunha; Nuno Macedo. "The High-Assurance ROS framework". Trabalho apresentado em International Workshop on Robotics Software Engineering (RoSE), Madrid, 2021.
    Publicado • 10.1109/rose52553.2021.00013
  8. Hugo Pacheco; Nuno Macedo. "ROSY: An elegant language to teach the pure reactive nature of robot programming". Trabalho apresentado em IEEE International Conference on Robotic Computing (IRC), Taichung, 2020.
    Publicado • 10.1109/IRC.2020.00045
  9. Renato Carvalho; Alcino Cunha; Nuno Macedo; André Santos. "Verification of system-wide safety properties of ROS applications". Trabalho apresentado em IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS), Taichung, 2020.
    Publicado • 10.1109/IROS45743.2020.9341085
  10. Julien Brunel; David Chemouil; Alcino Cunha; Nuno Macedo. "Simulation under arbitrary temporal logic constraints". Trabalho apresentado em Workshop on Formal Integrated Development Environment (F-IDE), Porto, 2019.
    Publicado • 10.4204/EPTCS.310.7
  11. André Santos; Alcino Cunha; Nuno Macedo. "Static-time extraction and analysis of the ROS computation graph". Trabalho apresentado em IEEE International Conference on Robotic Computing (IRC), Naples, 2019.
    Publicado • 10.1109/irc.2019.00018
  12. André Santos; Alcino Cunha; Nuno Macedo. "Property-based testing for the robot operating system". Trabalho apresentado em ACM SIGSOFT International Workshop on Automating TEST Case Design, Selection, and Evaluation (A-TEST), Lake Buena Vista, FL, 2018.
    Publicado • 10.1145/3278186.3278195
  13. Julien Brunel; David Chemouil; Alcino Cunha; Nuno Macedo. "The Electrum Analyzer: Model checking relational first-order temporal specifications". Trabalho apresentado em ACM/IEEE International Conference on Automated Software Engineering (ASE), Montpellier, 2018.
    Publicado • 10.1145/3238147.3240475
  14. Rui Couto; José Creissac Campos; Nuno Macedo; Alcino Cunha. "Improving the visualization of Alloy instances". Trabalho apresentado em Workshop on Formal Integrated Development Environment (F-IDE), Oxford, 2018.
    Publicado • 10.4204/EPTCS.284.4
  15. Mariana Carvalho; Nuno Macedo; Orlando Belo. "Checking the correctness of what-if scenarios". Trabalho apresentado em 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". Trabalho apresentado em IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS), Vancouver, 2017.
    Publicado • 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". Trabalho apresentado em IEEE/ACM International FME Workshop on Formal Methods in Software Engineering (FormaliSE), Buenos Aires, 2017.
    Publicado • 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". Trabalho apresentado em ACM SIGSOFT International Symposium on Foundations of Software Engineering (FSE), Seattle, WA, 2016.
    Publicado • 10.1145/2950290.2950318
  19. André Santos; Alcino Cunha; Nuno Macedo; Cláudio Lourenço. "A framework for quality assessment of ROS repositories". Trabalho apresentado em IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS), Daejeon, 2016.
    Publicado • 10.1109/iros.2016.7759661
  20. João M. Moreira; Alcino Cunha; Nuno Macedo. "An ORCID based synchronization framework for a national CRIS ecosystem". Trabalho apresentado em ORCID-Casrai Joint Conference, Barcelona, 2015.
    Publicado
  21. Nuno Macedo; Hugo Pacheco; Nuno Rocha Sousa; Alcino Cunha. "Bidirectional spreadsheet formulas". Trabalho apresentado em IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC), Melbourne, 2014.
    Publicado • 10.1109/VLHCC.2014.6883041
  22. Nuno Macedo; Alcino Cunha; Hugo Pacheco. "Towards a framework for multidirectional model transformations". Trabalho apresentado em International Workshop on Bidirectional Transformations (BX), Athens, 2014.
    Publicado
  23. Nuno Macedo; Tiago Guimarães; Alcino Cunha. "Model repair and transformation with Echo". Trabalho apresentado em IEEE/ACM International Conference on Automated Software Engineering (ASE), Palo Alto, CA, 2013.
    Publicado • 10.1109/ASE.2013.6693135
  24. Nuno Macedo; Hugo Pacheco; Alcino Cunha; José N. Oliveira. "Composing least-change lenses". Trabalho apresentado em International Workshop on Bidirectional Transformations (BX), Roma, 2013.
    Publicado
Artigo em revista
  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):
    Aceite para publicação
  2. Nuno Macedo; Julien Brunel; David Chemouil; Alcino Cunha. "Pardinus: A temporal relational model finder". Journal of Automated Reasoning 66 4 (2022): 861-904.
    Publicado • 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.
    Publicado • 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.
    Publicado • 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.
    Publicado • 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.
    Publicado • 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.
    Publicado • 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.
    Publicado • 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.
    Publicado • 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.
    Publicado • 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.
    Publicado • 10.14279/tuj.eceasst.57.868.862
Capítulo de livro
  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.
    Publicado • 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.
    Publicado • 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.
    Publicado • 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.
    Publicado • 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.
    Publicado • 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.
    Publicado • 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.
    Publicado • 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.
    Publicado • 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.
    Publicado • 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.
    Publicado • 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.
    Publicado • 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.
    Publicado • 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.
    Publicado • 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.
    Publicado • 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.
    Publicado • 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.
    Publicado • 10.1007/978-3-642-33314-9_10
Documento de trabalho
  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.
Relatório
  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.
Tese / Dissertação
  1. Nuno Macedo. "A relational approach to bidirectional transformation". Doutoramento, Universidade do Minho, 2014. https://hdl.handle.net/1822/35480.
  2. Nuno Macedo. "Translating Alloy specifications to the point-free style". Mestrado, 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/.

Outros

Conjunto de dados
  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.
Atividades

Apresentação oral de trabalho

Título da apresentação Nome do evento
Anfitrião (Local do evento)
2023/05 Teaching Alloy with Alloy4Fun Teaching Alloy with Alloy4Fun (Tutorial@ABZ'23)
LORIA, Nancy, France (Nancy, França)
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, Itália)
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, Canadá)
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, República Checa)
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, Alemanha)
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, Estados Unidos)
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, Reino Unido)
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, Estados Unidos)
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, Índia)
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, Estados Unidos)
2015/04 Exploring scenario exploration 18th International Conference on Fundamental Approaches to Software Engineering (FASE'15)
Queen Mary University of London (London, Reino Unido)
2014/07 Bidirectional spreadsheet formulas 2014 IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC'14)
Swinburne University of Technology (Melbourne, Austrália)
2014/03 Towards a framework for multidirectional model transformations 3rd International Workshop on Bidirectional Transformations (BX'14)
University of Crete (Athens, Grécia)
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, Estados Unidos)
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, Itália)
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, Reino Unido)

Orientação

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

Organização de evento

Nome do evento
Tipo de evento (Tipo de participação)
Instituição / Organização
2023/06 - 2023/06 Tutorial on Teaching Alloy with Alloy4Fun @ABZ'23 (2023/06 - 2023/06)
Seminário (Coorganizador)
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)
Conferência (Membro da Comissão Organizadora)
Plovdiv University "Paisii Hilendarski", Bulgária
2021 - 2021 Tutorial on Improving the Quality of ROS Applications with HAROS @IROS'21 (2021/10 - 2021/10)
Seminário (Coorganizador)
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)
Seminário (Coorganizador)
Instituto de Engenharia de Sistemas e Computadores Tecnologia e Ciência, Portugal

Office National d’Études et de Recherches Aérospatiales, França

Participação em evento

Descrição da atividade
Tipo de evento
Nome do evento
Instituição / Organização
2019/07 - 2019/07 Tutor.
Oficina (workshop)
Summer on Campus
Universidade do Minho, Portugal
2018/12 - 2018/12 Participant.
Seminário
Dagstuhl Seminar on Multidirectional Transformations (18491)
Schloss Dagstuhl Leibniz-Zentrum für Informatik GmbH, Alemanha
2018/04 - 2018/04 Invited speaker and participant.
Oficina (workshop)
Workshop on the Future of Alloy
Massachusetts Institute of Technology Computer Science and Artificial Intelligence Laboratory, Estados Unidos
2017/04 - 2017/04 Participant.
Oficina (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.
Oficina (workshop)
Best Students programme
Universidade do Minho, Portugal

Júri de grau académico

Tema
Tipo de participação
Nome do candidato (Tipo de grau)
Instituição / Organização
2024/03 Blockchain meets Alloy
Arguente principal
Diogo Araújo (Mestrado)
Universidade do Minho, Portugal
2022/11 Secure in-vehicle storage
Arguente principal
José Sousa (Mestrado)
Universidade do Porto Faculdade de Ciências, Portugal
2021/11 Web scraping analysis and prevention mechanisms
Arguente principal
Maria Pereira (Mestrado)
Universidade do Porto Faculdade de Ciências, Portugal
2020/11 Property-based testing of ERC-20 smart contracts
Arguente principal
Célio Rodrigues (Mestrado)
Universidade do Porto Faculdade de Ciências, Portugal

Arbitragem científica em conferência

Nome da conferência Local da conferência
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

Arbitragem científica em revista

Nome da revista (ISSN) Editora
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

Consultoria / Parecer

Descrição da atividade Instituição / Organização
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

Curso / Disciplina lecionado

Disciplina Curso (Tipo) Instituição / Organização
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

Outro júri / avaliação

Descrição da atividade Instituição / Organização
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