???global.info.a_carregar???
João Saraiva is an Associate Professor at the Departmento de Informática, Universidade do Minho, Portugal, and a research member of HASLab/INESC TEC. He obtained a Ph.D. degree in Computer Science from Utrecht University in 1999. His main research contributions have been in the field of programming language design and implementation, program analysis and transformation, and functional programming. He supervised 11 PhD projects (8 awarded and 3 running) and and has published over 100 publications (scopus h-index: 18). He served in over 90 PCs of international events, and in the evaluation committees of 6 national agencies: Austria, Belgium, Portugal, The Netherlands, Spain, and Uruguay. He coordinated research projects both at national level with projects funded by FCT and QREN, and at international level with projects funded by EPSRC (UK), FLAD/NSF (USA), and by the EU. He is one of the founders of the successful series of GTTSE summer schools and was the organizing chair of ETAPS'07.
Identification

Personal identification

Full name
João Alexandre Baptista Vieira Saraiva

Citation names

  • Saraiva, João

Author identifiers

Ciência ID
061C-DFC5-318E
ORCID iD
0000-0002-5686-7151
Google Scholar ID
NlBmV2QAAAAJ&hl
Researcher Id
L-6113-2015
Scopus Author Id
55977245100

Websites

Education
Degree Classification
1995/09/01 - 1999/12/09
Concluded
Computer Science (Doutoramento)
Major in Computer Science
Universiteit Utrecht, Netherlands
Affiliation

Teaching in Higher Education

Category
Host institution
Employer
2018/11/27 - Current Associate Professor (University Teacher) Universidade do Minho, Portugal
1993/12/06 - 2018/12/10 Assistant Professor (University Teacher) Universidade do Minho, Portugal
Universidade do Minho, Portugal

Others

Category
Host institution
Employer
2015/06 - 2015/09 Visiting Professor Vietnam National University Ho Chi Minh City, Vietnam
Vietnam National University Ho Chi Minh City, Vietnam
2015/02 - 2015/03 Visiting Research Fellow National Institute of Informatics (NII), Japan
National Institute of Informatics (NII), Japan
2014/08 - 2014/12 Professor Visitante do Exterior (PEV/CAPES) Universidade Federal de Pernambuco, Brazil
Universidade Federal de Pernambuco, Brazil
2008/02 - 2008/02 Visiting Researcher The Texas University at Austin , United States
The Texas University at Austin , United States
2002/09 - 2002/12 Visiting Research Fellow University of Oxford Department of Computing Science, United Kingdom
University of Oxford Department of Computing Science, United Kingdom
Projects

Contract

Designation Funders
2020/09/01 - 2023/08/31 Promoting Sustainability as a Fundamental Driver in Software Development Training and Education
Researcher
Universidade do Minho, Portugal
European Union
Ongoing
2016/07/01 - 2019/12/31 GreenSoftwareLab – Towards an Engineering Discipline for Green Software
Principal investigator
Fundação para a Ciência e a Tecnologia, Portugal
Concluded
2016/07/01 - 2019/12/31 GreenSoftwareLab: Computação Verde como uma Disciplina de Engenharia
PTDC/EEI-ESS/5341/2014
Universidade do Minho, Portugal

Instituto de Engenharia de Sistemas e Computadores, Portugal

Universidade de Coimbra, Portugal

Universidade Nova de Lisboa Associação para a Inovação e Desenvolvimento da FCT, Portugal
Fundação para a Ciência e a Tecnologia
Concluded
2019/01 - 2019/12 INESC TEC - INESC Tecnologia e Ciência
154759UID
UID/EEA/50014/2019
Instituto de Engenharia de Sistemas e Computadores, Portugal

Instituto de Engenharia de Sistemas e Computadores Tecnologia e Ciência, Portugal
Fundação para a Ciência e a Tecnologia
Concluded
2012/01 - 2015/01 AutoSeer: Automated Test Oracles for Software Error Detection
PTDC/EIA-CCO/116796/2010
Researcher
Universidade do Porto Faculdade de Engenharia, Portugal
Fundação para a Ciência e a Tecnologia
Concluded
2012/01 - 2015/01 FATBIT: Foundations, Applications and Tools for Bidirectional Transformations
{PTDC/EIA-CCO/120838/2010
Researcher
Universidade do Minho, Portugal
Fundação para a Ciência e a Tecnologia
Concluded
2012/03/01 - 2014/08/31 FATBIT: Foundations, Applications and Tools for Bidirectional Transformation
PTDC/EIA-CCO/120838/2010
Universidade do Minho, Portugal

Universidade do Minho Centro ALGORITMI, Portugal
Fundação para a Ciência e a Tecnologia
Concluded
2010/09/01 - 2013/12/31 SSaaPP: SpreadSheets as a Programming Paradigm
Principal investigator
Fundação para a Ciência e a Tecnologia, Portugal
2010/03/15 - 2013/06/14 CROSS - Uma infra-estrutura para a certificação e re-engenharia de Software Livre
PTDC/EIA-CCO/108995/2008
Universidade do Minho, Portugal

Universidade do Minho Centro ALGORITMI, Portugal
Fundação para a Ciência e a Tecnologia
Concluded
2007/12/01 - 2011/11/30 AMADEUS: ASPECTS AND COMPILER OPTIMIZATIONS FOR MATLAB SYSTEM DEVELOPMENT
PTDC/EIA/70271/2006
Universidade do Minho, Portugal

UNINOVA Instituto de Desenvolvimento de Novas Tecnologias, Portugal

Instituto de Engenharia de Sistemas e Computadores Investigação e Desenvolvimento em Lisboa, Portugal

Universidade do Porto Faculdade de Engenharia, Portugal

Universidade Nova de Lisboa Associação para a Inovação e Desenvolvimento da FCT, Portugal
Fundação para a Ciência e a Tecnologia
Concluded
2005/07/01 - 2008/06/30 IVY - Um ambiente de análise de usabilidade baseado em modelos
POSC/EIA/56646/2004
Universidade do Minho, Portugal

Universidade do Minho Centro ALGORITMI, Portugal

Instituto de Engenharia de Sistemas e Computadores, Portugal

Universidade do Porto Faculdade de Engenharia, Portugal
Fundação para a Ciência e a Tecnologia
Concluded
Outputs

Publications

Book
  1. Cunha, J.; Fernandes, J.P.; Lämmel, R.; Saraiva, J.; Zaytsev, V.. Preface. 2017.
  2. Fernandes, J.P.; Martins, P.; Pardo, A.; Saraiva, J.; Viera, M.. Memoized zipper-based attribute grammars. 2016.
    10.1007/978-3-319-45279-1_4
  3. Mendes, J.; Do, K.N.; Saraiva, J.. Towards an automated classification of spreadsheets. 2016.
    10.1007/978-3-319-50230-4_26
  4. Cunha, J.; Fernandes, J.P.; Mendes, J.; Saraiva, J.. Spreadsheet engineering. 2015.
    10.1007/978-3-319-15940-9_6
  5. Martins, P.; Fernandes, J.P.; Saraiva, J.. Zipper-based modular and deforested computations. 2015.
    10.1007/978-3-319-15940-9_10
  6. Cunha, J.; Fernandes, J.P.; Mendes, J.; Pereira, R.; Saraiva, J.. Design and implementation of queries for model-driven spreadsheets. 2015.
    10.1007/978-3-319-15940-9_13
  7. Silva, J.C.; Campos, J.C.; Saraiva, J.; Silva, J.L.. An approach for graphical user interface external bad smells detection. 2014.
    10.1007/978-3-319-05948-8_19
  8. Couto, M.; Carção, T.; Cunha, J.; Fernandes, J.P.; Saraiva, J.. Detecting anomalous energy consumption in android applications. 2014.
    10.1007/978-3-319-11863-5_6
  9. Cunha, J.; Fernandes, J.P.; Pereira, R.; Saraiva, J.. Graphical querying of model-driven spreadsheets. 2014.
    10.1007/978-3-319-07731-4_42
  10. Martins, P.; Fernandes, J.P.; Saraiva, J.. A web portal for the certification of open source software. 2014.
    10.1007/978-3-642-54338-8_20
  11. Lämmel, R.; Saraiva, J.; Visser, J.. Preface. 2013.
  12. Martins, P.; Fernandes, J.P.; Saraiva, J.. Zipper-based attribute grammars and their extensions. 2013.
    10.1007/978-3-642-40922-6_10
  13. Pardo, A.; Fernandes, J.P.; Saraiva, J.. Multiple intermediate structure deforestation by shortcut fusion. 2013.
    10.1007/978-3-642-40922-6_9
  14. Martins, P.; Carvalho, N.; Fernandes, J.P.; Almeida, J.J.; Saraiva, J.. A framework for modular and customizable software analysis. 2013.
    10.1007/978-3-642-39643-4_32
  15. Cunha, J.; Fernandes, J.P.; Mendes, J.; Saraiva, J.. Complexity metrics for classsheet models. 2013.
    10.1007/978-3-642-39643-4_33
  16. Cunha, J.; Saraiva, J.; Visser, J.. Model-based programming environments for spreadsheets. 2012.
    10.1007/978-3-642-33182-4_10
  17. Cunha, J.; Fernandes, J.P.; Ribeiro, H.; Saraiva, J.. Towards a catalog of spreadsheet smells. 2012.
    10.1007/978-3-642-31128-4_15
  18. Martins, P.; Lopes, P.; Fernandes, J.P.; Saraiva, J.; Cardoso, J.M.P.. Program and aspect metrics for MATLAB. 2012.
    10.1007/978-3-642-31128-4_16
  19. Cunha, J.; Fernandes, J.P.; Mendes, J.; Pacheco, H.; Saraiva, J.. Bidirectional transformation of model-driven spreadsheets. 2012.
    10.1007/978-3-642-30476-7_7
  20. Fernandes, J.M.; Lämmel, R.; Saraiva, J.; Visser, J.. Preface. 2011.
  21. Beckwith, L.; Cunha, J.; Fernandes, J.P.; Saraiva, J.. End-users productivity in model-based spreadsheets: An empirical study. 2011.
    10.1007/978-3-642-21530-8_27
  22. Cunha, J.; Visser, J.; Alves, T.; Saraiva, J.. Type-safe evolution of spreadsheets. 2011.
    10.1007/978-3-642-19811-3_14
  23. Batory, D.; Azanza, M.; Saraiva, J.. The objects and arrows of computational design. 2008.
    10.1007/978-3-540-87875-9_1
  24. Saraiva, J.. Component-based programming for higher-order attribute grammars. 2002.
    10.1007/3-540-45821-2_17
  25. Saraiva, J.; Swierstra, D.; Kuiper, M.. Functional incremental attribute evaluation. 2000.
    10.1007/3-540-46423-9_19
  26. Saraiva, J.; Swierstra, D.. Data structure free compilation. 1999.
    10.1007/978-3-540-49051-7_1
  27. Kuiper, M.; Saraiva, J.. Lrc - A generator for incremental language-oriented tools. 1998.
    10.1007/BFb0026440
Book chapter
  1. Marcos Viera; Alberto Pardo; João Saraiva. "Tabulation with Zippers". 2024.
    10.1007/978-981-97-2300-3_5
  2. Saraiva, João; Pereira, Rui. "Energy Efficient Software in an Engineering Course". In Composability, Comprehensibility and Correctness of Working Software, 77-97. Springer International Publishing, 2023.
    10.1007/978-3-031-42833-3_3
  3. Pereira, Rui; Couto, Marco; Cunha, Jácome; Melfe, Gilberto; Saraiva, João; Fernandes, João Paulo. "Paint Your Programs Green: On the Energy Efficiency of Data Structures". In Composability, Comprehensibility and Correctness of Working Software, 53-76. Springer International Publishing, 2023.
    10.1007/978-3-031-42833-3_2
  4. Ajel, Salwa; Ribeiro, Francisco; Ejbali, Ridha; Saraiva, João. "Energy Efficiency of Python Machine Learning Frameworks". In Intelligent Systems Design and Applications, 586-595. Springer Nature Switzerland, 2023.
    10.1007/978-3-031-35507-3_57
  5. Macedo, José Nuno; Viera, Marcos; Saraiva, João. "Zipping Strategies and Attribute Grammars". In Lecture Notes in Computer Science, 112-132. Springer International Publishing, 2022.
    10.1007/978-3-030-99461-7_7
  6. Feitosa, Daniel; Cruz, Luís; Abreu, Rui; Fernandes, João Paulo; Couto, Marco; Saraiva, João. "Patterns and Energy Consumption: Design, Implementation, Studies, and Stories". In Software Sustainability, 89-121. Springer International Publishing, 2021.
    10.1007/978-3-030-69970-3_5
  7. José Nuno Macedo; João Saraiva. "InDubio: A Combinator Library to Disambiguate Ambiguous Grammars". 1002-1018. Springer International Publishing, 2020.
    10.1007/978-3-030-58811-3_71
Conference paper
  1. Francisco Ribeiro; José Nuno Macedo; Tsushina Kanae; Rui Abreu; Saraiva, João. Corresponding author: Francisco Ribeiro. "GPT-3-Powered Type Error Debugging: Investigating the Use of Large Language Models for Code Repair". Paper presented in SLE 2023 - Proceedings of the 16th ACM SIGPLAN International Conference on Software Language Engineering, Co-located with: SPLASH 2023, 2023.
    Published • 10.1145/3623476.3623522
  2. Walter Lucas; Rodrigo Bonifácio; Saraiva, João. "Understanding the Motivations, Challenges, and Practices of Software Rejuvenation". Paper presented in Proceedings - 2023 IEEE International Conference on Software Maintenance and Evolution, ICSME 2023, 2023.
    10.1109/ICSME58846.2023.00082
  3. José Nuno Macedo; Emanuel Rodrigues; Marcos Viera; Saraiva, João. Corresponding author: José Nuno Macedo. "Efficient Embedding of Strategic Attribute Grammars via Memoization". Paper presented in PEPM 2023 - Proceedings of the 2023 ACM SIGPLAN International Workshop on Partial Evaluation and Program Manipulation, co-located with POPL 2023, 2023.
    Published • 10.1145/3571786.3573019
  4. Rua, Rui; Saraiva, João. "PyAnaDroid: A fully-customizable execution pipeline for benchmarking Android Applications". 2023.
    10.1109/icsme58846.2023.00077
  5. Rua, Rui; Saraiva, João. "E-MANAFA: Energy Monitoring and ANAlysis tool For Android". 2022.
    10.1145/3551349.3561342
  6. De Macedo, Joao; Abreu, Rui; Pereira, Rui; Saraiva, Joao. "WebAssembly versus JavaScript: Energy and Runtime Performance". 2022.
    10.1109/ict4s55073.2022.00014
  7. Ribeiro, Francisco; Abreu, Rui; Saraiva, João. "Framing program repair as code completion". 2022.
    10.1145/3524459.3527347
  8. Saraiva, João; Zong, Ziliang; Pereira, Rui. "Bringing Green Software to Computer Science Curriculum: Perspectives from Researchers and Educators". 2021.
    10.1145/3430665.3456386
  9. Brito, Miguel; Cunha, Jácome; Saraiva, João. "Identification of microservices from monolithic applications through topic modelling". 2021.
    10.1145/3412841.3442016
  10. Ribeiro, Francisco; Abreu, Rui; Saraiva, João. "On Understanding Contextual Changes of Failures". 2021.
    10.1109/qrs54544.2021.00112
  11. De Macedo, Joao; Abreu, Rui; Pereira, Rui; Saraiva, Joao. "On the Runtime and Energy Performance of WebAssembly: Is WebAssembly superior to JavaScript yet?". 2021.
    10.1109/asew52652.2021.00056
  12. de Macedo, João; Aloísio, João; Gonçalves, Nelson; Pereira, Rui; Saraiva, João. "Energy wars - Chrome vs. Firefox: Which browser is more energy efficient?". 2021.
    10.1145/3417113.3423000
  13. Macedo, JN; Saraiva, J. "Expressing Disambiguation Filters as Combinators". 2020.
    10.1145/3341105.3374123
  14. Rua, R; Fraga, T; Couto, M; Saraiva, J. "Greenspecting Android virtual keyboards". 2020.
    10.1145/3387905.3388600
  15. Couto, M; Maia, D; Saraiva, J; Pereira, R. "On energy debt: managing consumption on evolving software". 2020.
    10.1145/3387906.3388628
  16. Couto, M; Saraiva, J; Fernandes, JP. "Energy Refactorings for Android in the Large and in the Wild". 2020.
    10.1109/saner48275.2020.9054858
  17. Rua, R; Couto, M; Saraiva, J. "GreenSource: A large-scale collection of android code, tests and energy metrics". 2019.
    10.1109/msr.2019.00035
  18. Rua, R; Couto, M; Pinto, A; Cunha, J; Saraiva, J. "Towards using Memoization for Saving Energy in Android". 2019.
  19. Macedo, JN; Moreira, R; Cunha, J; Saraiva, J. "Get Your Spreadsheets Under (Version) Control". 2019.
  20. Ribeiro, F; Saraiva, J; Pardo, A. "Java Stream Fusion: Adapting FP mechanisms for an OO setting". 2019.
    10.1145/3355378.3355386
  21. Macedo, José; Ribeiro, Francisco; Rua, Rui; Couto, Marco; Cunha, Jácome; Fernandes, J.P.; Saraiva, João; Pereira, Rui. "Functional Going Green: An Empirical Evaluation of Functional Languages Performance". Paper presented in 3COWS Winter School, Kosice, 2018.
    Submitted
  22. Pereira, R; Simão, P; Cunha, J; Saraiva, J. "jStanley: placing a green thumb on Java collections". 2018.
    10.1145/3238147.3240473
  23. Pereira, R; Couto, M; Ribeiro, F; Rua, R; Saraiva, J. "Energyware Analysis". 2018.
  24. Pereira, Rui; Couto, Marco; Fernandes, JoaoPaulo; Saraiva, João. "Static Energy Consumption Analysis in Variability Systems". Paper presented in Green in Software Engineering Workshop, Amsterdam, 2017.
  25. Pereira, R.; Couto, M.; Ribeiro, F.; Rua, R.; Cunha, J.; Fernandes, J.P.; Saraiva, J.. "Energy efficiency across programming languages: How do energy, time, and memory relate?". 2017.
    10.1145/3136014.3136031
  26. Couto, M.; Pereira, R.; Ribeiro, F.; Rua, R.; Saraiva, J.. "Towards a green ranking for programming languages". 2017.
    10.1145/3125374.3125382
  27. Pereira, R.; Carcao, T.; Couto, M.; Cunha, J.; Fernandes, J.P.; Saraiva, J.. "Helping programmers improve the energy efficiency of source code". 2017.
    10.1109/ICSE-C.2017.80
  28. Mendes, J.; Cunha, J.; Duarte, F.; Engels, G.; Saraiva, J.; Sauer, S.. "Towards systematic spreadsheet construction processes". 2017.
    10.1109/ICSE-C.2017.141
  29. Santos, M.; Saraiva, J.; Porkoláb, Z.; Krupp, D.. "Energy consumption measurement of C/C++ programs using clang tooling". 2017.
  30. Couto, M.; Borba, P.; Cunha, J.; Fernandes, J.P.; Pereira, R.; Saraiva, J.. "Products go green:Worst-case energy consumption in so-ware product lines". 2017.
    10.1145/3106195.3106214
  31. Saraiva, J; Guimarales, M; Belot, O. "AN ECONOMIC ENERGY APPROACH FOR QUERIES ON DATA CENTERS". 2017.
  32. Mendes, J; Cunha, J; Duarte, F; Engels, G; Saraiva, J; Sauer, S. "Systematic Spreadsheet Construction Processes". 2017.
    10.1109/vlhcc.2017.8103459
  33. Belo, O.; Gonçalves, R.; Saraiva, J.. "Establishing Energy Consumption Plans for Green Star-Queries in Data Warehousing Systems". 2016.
    10.1109/dsdis.2015.108
  34. Couto, M.; Cunha, J.; Fernandes, J.P.; Pereira, R.; Saraiva, J.. "GreenDroid: A tool for analysing power consumption in the android ecosystem". 2016.
    10.1109/Informatics.2015.7377811
  35. Pereira, R.; Saraiva, J.; Cunha, J.; Fernandes, J.P.. "User-friendly spreadsheet querying: An empirical study". 2016.
    10.1145/2851613.2851910
  36. Pereira, R.; Couto, M.; Saraiva, J.; Cunha, J.; Fernandes, J.P.. "The influence of the Java collection framework on overall energy consumption". 2016.
    10.1145/2896967.2896968
  37. Zhu, Z.; Zhang, Y.; Ko, H.-S.; Martins, P.; Saraiva, J.; Hu, Z.. "Parsing and reflective printing, bidirectionally". 2016.
    10.1145/2997364.2997369
  38. Gonçalves, R.; Saraiva, J.; Belo, O.. "Defining energy consumption plans for data querying processes". 2015.
    10.1109/BDCloud.2014.109
  39. Zhu, Z.; Ko, H.-S.; Martins, P.; Saraiva, J.; Hu, Z.. "BiYacc: Roll your parser and reflective printer into one". 2015.
  40. Maia, P.; Mendes, J.; Cunha, J.; Rebêlo, H.; Saraiva, J.; Maia, Pedro; Mendes, Jorge; et al. "Towards the design and implementation of aspect-oriented programming for spreadsheets". 2015.
  41. Almeida, D.; Campos, J.C.; Saraiva, J.; Silva, J.C.. "Towards a catalog of usability smells". 2015.
    10.1145/2695664.2695670
  42. Fernandes, JP; Cunha, J; Saraiva, J; Pardo, A. "Watch Out for that Tree! A Tutorial on Shortcut Deforestation". 2015.
    10.1007/978-3-030-28346-9_1
  43. Cunha, J.; Fernandes, J.P.; Mendes, J.; Pereira, R.; Saraiva, J.. "ES-SQL: Visually querying spreadsheets". 2014.
    10.1109/VLHCC.2014.6883056
  44. Martins, P.; Saraiva, J.; Fernandes, J.P.; Van Wyk, E.. "Generating attribute grammar-based bidirectional transformations from rewrite rules". 2014.
    10.1145/2543728.2543745
  45. Cunha, J.; Fernandes, J.P.; Martins, P.; Pereira, R.; Saraiva, J.. "Refactoring meets model-driven spreadsheet evolution". 2014.
    10.1109/quatic.2014.34
  46. Cunha, J.; Fernandes, J.P.; Mendes, J.; Pereira, R.; Saraiva, J.. "Embedding model-driven spreadsheet queries in spreadsheet systems". 2014.
    10.1109/VLHCC.2014.6883039
  47. Abreu, R.; Cunha, J.; Fernandes, J.P.; Martins, P.; Perez, A.; Saraiva, J.. "FaultySheet detective: When smells meet fault localization". 2014.
    10.1109/icsme.2014.111
  48. Abreu, R.; Cunha, J.; Fernandes, J.P.; Martins, P.; Perez, A.; Saraiva, J.. "Smelling faults in spreadsheets". 2014.
    10.1109/icsme.2014.33
  49. Cunha, J.; Fernandes, J.P.; Mendes, J.; Pereira, R.; Saraiva, J.. "MDSheet -model-driven spreadsheets". 2014.
  50. Belo, O.; Cunha, J.; Femandes, J.P.; Mendes, J.; Pereira, R.; Saraiva, J.. "QuerySheet: A bidirectional query environment for model-driven spreadsheets". 2013.
    10.1109/vlhcc.2013.6645267
  51. Cunha, J.; Fernandes, J.P.; Mendes, J.; Pereira, R.; Saraiva, J.. "Querying model-driven spreadsheets". 2013.
    10.1109/vlhcc.2013.6645247
  52. Silva, J.C.; Silva, J.L.; Campos, J.C.; Saraiva, J.A.. "A model-based approach for test cases generation | Uma abordagem para a geração de casos de teste baseada em modelos". 2013.
  53. Damasceno, A; Carreiro, A; Saraiva, J; Neto, J; Landeck, J. "Using Cloogy and Case Based Reasoning to Identify Electrical Consumptions". 2013.
  54. Martins, P; Fernandes, JP; Saraiva, J. "A Purely Functional Combinator Language for Software Quality Assessment". 2012.
    10.4230/oasics.slate.2012.51
  55. Cunha, J.; Fernandes, J.P.; Mendes, J.; Saraiva, J.. "Extension and implementation of ClassSheet models". 2012.
    10.1109/vlhcc.2012.6344473
  56. Cunha, J.; Fernandes, J.P.; Peixoto, C.; Saraiva, J.. "A quality model for spreadsheets". 2012.
    10.1109/quatic.2012.16
  57. Cunha, J.; Fernandes, J.P.; Martins, P.; Mendes, J.; Saraiva, J.. "SmellSheet detective: A tool for detecting bad smells in spreadsheets". 2012.
    10.1109/VLHCC.2012.6344535
  58. Cunha, J.; Fernandes, J.P.; Mendes, J.; Saraiva, J.. "Towards an evaluation of bidirectional model-driven spreadsheets". 2012.
    10.1109/USER.2012.6226577
  59. Cunha, J.; Fernandes, J.P.; Mendes, J.; Saraiva, J.. "MDSheet: A framework for model-driven spreadsheet engineering". 2012.
    10.1109/icse.2012.6227239
  60. Cunha, J.; Fernandes, J.P.; Mendes, J.; Saraiva, J.. "A bidirectional model-driven spreadsheet environment". 2012.
    10.1109/ICSE.2012.6227073
  61. Cunha, J.; Fernandes, J.P.; Saraiva, J.. "From relational ClassSheets to UML+OCL". 2012.
    10.1145/2245276.2231957
  62. Cunha, J.; Mendes, J.; Saraiva, J.; Fernandes, J.P.. "Embedding and evolution of spreadsheet models in spreadsheet systems". 2011.
    10.1109/vlhcc.2011.6070396
  63. Fernandes, J.P.; Saraiva, J.; Seidel, D.; Voigtländer, J.. "Strictification of circular programs". 2011.
    10.1145/1929501.1929526
  64. Cunha, J.; Erwig, M.; Saraiva, J.. "Automatically inferring classsheet models from spreadsheets". 2010.
    10.1109/vlhcc.2010.22
  65. Silva, J.C.; Silva, C.; Gonçalo, R.; Saraiva, J.; Campos, J.C.. "The GUISurfer tool: Towards a language independent approach to reverse engineering GUI code". 2010.
    10.1145/1822018.1822045
  66. Saraiva, J.D.S.; Silva, A.R.D.. "Development of CMS-based web-applications using a model-driven approach". 2009.
    10.1109/ICSEA.2009.79
  67. Silva, J.C.; Saraiva, J.; Campos, J.C.. "A generic library for GUI reasoning and testing". 2009.
    10.1145/1529282.1529307
  68. Cunha, J.; Saraiva, J.; Visser, J.. "Discovery-based edit assistance for spreadsheets". 2009.
    10.1109/vlhcc.2009.5295255
  69. Pardo, A.; Fernandes, J.P.; Saraiva, J.. "Shortcut fusion rules for the derivation of circular and higher-order monadic programs". 2009.
    10.1145/1480945.1480958
  70. Cunha, J.; Saraiva, J.; Visser, J.. "From spreadsheets to relational databases and back". 2009.
    10.1145/1480945.1480972
  71. Saraiva, H.D.S.; Da Silva, A.R.. "The projectIT-studio UMLmodeler: A tool for the design and transformation of UML models". 2008.
  72. Fernandes, J.P.; Pardo, A.; Saraiva, J.. "A shortcut fusion rule for circular program calculation". 2007.
    10.1145/1291201.1291216
  73. Da Silva, A.R.; Saraiva, J.; Silva, R.; Martins, C.. "XIS - UML profile for eXtreme modeling interactive systems". 2007.
    10.1109/MOMPES.2007.19
  74. Fernandes, J.P.; Saraiva, J.. "Tools and libraries to model and manipulate circular programs". 2007.
    10.1145/1244381.1244399
  75. Jo, C.-H.; Mernik, M.; Bryant, B.R.; Ancona, M.; Auguston, M.; Cheung, S.-C.; Debray, S.K.; et al. "Editorial: Programming languages track". 2005.
    10.1145/1066677.1066991
  76. Saraiva, J.; Schneider, S.. "Embedding domain specific languages in the attribute grammar formalism". 2003.
    10.1109/HICSS.2003.1174889
  77. Swierstra, SD; Alcocer, PRA; Saraiva, J. "Designing and Implementing Combinator Languages". 1998.
    10.1007/10704973_4
Edited book
  1. Malavolta, I; Kazman, R; Saraiva, J. Proceedings of the 6th International Workshop on Green and Sustainable Software, GREENS@ICSE 2018, Gothenburg, Sweden, May 27, 2018. 2018.
    10.1145/3194078
  2. Cunha, Jacome; Fernandes, JoaoPaulo; Lämmel, Ralf; Saraiva, Joao; Zaytsev, Vadim. Grand Timely Topics in Software Engineering - International Summer School GTTSE 2015, Braga, Portugal, August 23-29, 2015, Tutorial Lectures. 2017.
  3. Lämmel, R; Saraiva, J; Visser, J. Generative and Transformational Techniques in Software Engineering IV, International Summer School, GTTSE 2011, Braga, Portugal, July 3-9, 2011. Revised Papers. 2013.
    10.1007/978-3-642-35992-7
  4. Fernandes, JM; Lämmel, R; Visser, J; Saraiva, J. Generative and Transformational Techniques in Software Engineering III - International Summer School, GTTSE 2009, Braga, Portugal, July 6-11, 2009. Revised Papers. 2011.
    10.1007/978-3-642-18023-1
  5. Lämmel, R; Visser, J; Saraiva, J. Generative and Transformational Techniques in Software Engineering II, International Summer School, GTTSE 2007, Braga, Portugal, July 2-7, 2007. Revised Papers. 2008.
  6. Lämmel, R; Saraiva, J; Visser, J. Generative and Transformational Techniques in Software Engineering, International Summer School, GTTSE 2005, Braga, Portugal, July 4-8, 2005. Revised Papers. 2006.
  7. Barthe, G; Dybjer, P; Pinto, L; Saraiva, J. Applied Semantics, International Summer School, APPSEM 2000, Caminha, Portugal, September 9-15, 2000, Advanced Lectures. 2002.
Journal article
  1. Gordillo, Alberto; Calero, Coral; Moraga, Mª Ángeles; García, Félix; Fernandes, João Paulo; Abreu, Rui; Saraiva, João. "Programming languages ranking based on energy measurements". Software Quality Journal (2024): http://dx.doi.org/10.1007/s11219-024-09690-4.
    10.1007/s11219-024-09690-4
  2. José Nuno Macedo; Emanuel Rodrigues; Marcos Viera; João Saraiva. "Zipper-based embedding of strategic attribute grammars". Journal of Systems and Software (2024): https://doi.org/10.1016/j.jss.2024.111975.
    10.1016/j.jss.2024.111975
  3. Rua, Rui; Saraiva, João; Rui Rua; João Saraiva. "A large-scale empirical study on mobile performance: energy, run-time and memory". Empirical Software Engineering 29 1 (2023): http://dx.doi.org/10.1007/s10664-023-10391-y.
    10.1007/s10664-023-10391-y
  4. Lucas, Walter; Carvalho, Fausto; Nunes, Rafael Campos; Bonifácio, Rodrigo; Saraiva, João; Accioly, Paola; Walter Lucas; et al. "Embracing modern C++ features: An empirical assessment on the KDE community". Journal of Software: Evolution and Process 36 5 (2023): http://dx.doi.org/10.1002/smr.2605.
    10.1002/smr.2605
  5. Pereira, Rui; Couto, Marco; Ribeiro, Francisco; Rua, Rui; Cunha, Jácome; Fernandes, João Paulo; Saraiva, João. "Ranking programming languages by energy efficiency". Science of Computer Programming 205 (2021): 102609. http://dx.doi.org/10.1016/j.scico.2021.102609.
    10.1016/j.scico.2021.102609
  6. Marco Couto; João Paulo Fernandes; João Saraiva; Couto, Marco; Fernandes, João Paulo; Saraiva, João. "Statically Analyzing the Energy Efficiency of Software Product Lines". Journal of Low Power Electronics and Applications 11 1 (2021): 13-13. https://doi.org/10.3390/jlpea11010013.
    10.3390/jlpea11010013
  7. Pereira, R; Carcao, T; Couto, M; Cunha, J; Fernandes, JP; Saraiva, J. "SPELLing out energy leaks: Aiding developers locate energy inefficient code". JOURNAL OF SYSTEMS AND SOFTWARE (2020):
    10.1016/j.jss.2019.110463
  8. Zhu, ZR; Ko, HS; Zhang, YZ; Martins, P; Saraiva, J; Hu, ZJ. "Unifying Parsing and Reflective Printing for Fully Disambiguated Grammars". NEW GENERATION COMPUTING (2020):
    10.1007/s00354-019-00082-y
  9. Fernandes, JP; Martins, P; Pardo, A; Saraiva, J; Viera, M. "Memoized zipper-based attribute grammars and their higher order extension". SCIENCE OF COMPUTER PROGRAMMING (2019):
    10.1016/j.scico.2018.10.006
  10. Cunha, J.; Erwig, M.; Mendes, J.; Saraiva, J.. "Model inference for spreadsheets". Automated Software Engineering 23 3 (2016): 361-392. http://www.scopus.com/inward/record.url?eid=2-s2.0-84971667704&partnerID=MN8TOARS.
    10.1007/s10515-014-0167-x
  11. Cunha, J.; Paulo Fernandes, J.; Martins, P.; Mendes, J.; Pereira, R.; Saraiva, J.. "Evaluating refactorings for spreadsheet models". Journal of Systems and Software 118 (2016): 234-250. http://www.scopus.com/inward/record.url?eid=2-s2.0-84971441815&partnerID=MN8TOARS.
    10.1016/j.jss.2016.04.043
  12. Pardo, A.; Fernandes, J.P.; Saraiva, J.. "Multiple intermediate structure deforestation by shortcut fusion". Science of Computer Programming 132 (2016): 77-95. http://www.scopus.com/inward/record.url?eid=2-s2.0-84992741388&partnerID=MN8TOARS.
    10.1016/j.scico.2016.07.004
  13. Martins, P.; Fernandes, J.P.; Saraiva, J.; Van Wyk, E.; Sloane, A.. "Embedding attribute grammars and their extensions using functional zippers". Science of Computer Programming 132 (2016): 2-28. http://www.scopus.com/inward/record.url?eid=2-s2.0-84975528869&partnerID=MN8TOARS.
    10.1016/j.scico.2016.03.005
  14. Cunha, J.; Fernandes, J.P.; Mendes, J.; Saraiva, J.. "Embedding, evolution, and validation of model-driven spreadsheets". IEEE Transactions on Software Engineering 41 3 (2015): 241-263. http://www.scopus.com/inward/record.url?eid=2-s2.0-84925130119&partnerID=MN8TOARS.
    10.1109/tse.2014.2361141
  15. Cunha, J.; Mendes, J.; Saraiva, J.; Visser, J.. "Model-based programming environments for spreadsheets". Science of Computer Programming 96 P2 (2014): 254-275. http://www.scopus.com/inward/record.url?eid=2-s2.0-84908227347&partnerID=MN8TOARS.
    10.1016/j.scico.2014.02.002
  16. Santos, A.; Saraiva, J.. "Special section on the Brazilian Symposium on Programming Languages". Science of Computer Programming 78 8 (2013): 1119-1120. http://www.scopus.com/inward/record.url?eid=2-s2.0-84878232633&partnerID=MN8TOARS.
    10.1016/j.scico.2012.09.001
  17. Pardo, A.; Fernandes, J.P.; Saraiva, J.. "Shortcut fusion rules for the derivation of circular and higher-order programs". Higher-Order and Symbolic Computation 24 1-2 (2011): 115-149. http://www.scopus.com/inward/record.url?eid=2-s2.0-84861682511&partnerID=MN8TOARS.
    10.1007/s10990-011-9076-x
  18. Silva, JC; Campos, JC; Saraiva, J. "GUI Inspection from Source Code Analysis". ECEASST (2010):
    10.14279/tuj.eceasst.33.459
  19. Tirelo, F.; Bigonha, R.S.; Saraiva, J.. "Disentangling denotational semantics definitions". Journal of Universal Computer Science 14 21 (2008): 3592-3607. http://www.scopus.com/inward/record.url?eid=2-s2.0-63649091169&partnerID=MN8TOARS.
    10.3217/jucs-014-21-3592
  20. Lämmel, R.; Visser, J.; Saraiva, J.. "Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics): Preface". Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics) 5235 LNCS (2008): http://www.scopus.com/inward/record.url?eid=2-s2.0-57049158143&partnerID=MN8TOARS.
  21. Saraiva, J. de S.; da Silva, A.R.. "Evaluation of MDE tools from a metamodeling perspective". Journal of Database Management 19 4 (2008): 21-46. http://www.scopus.com/inward/record.url?eid=2-s2.0-50549095423&partnerID=MN8TOARS.
  22. da Silva, AR; Saraiva, J; Ferreira, D; Silva, R; Videira, C. "Integration of RE and MDE paradigms: the projectIT approach and tools". IET SOFTWARE (2007):
    10.1049/ict-sen:20070012
  23. Silva, J.C.; Campos, J.C.; Saraiva, J.. "Combining formal methods and functional strategies regarding the reverse engineering of interactive applications". Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics) 4323 LNCS (2007): 137-150. http://www.scopus.com/inward/record.url?eid=2-s2.0-35448976411&partnerID=MN8TOARS.
    10.1007/978-3-540-69554-7_11
  24. Bryant, B.R.; Saraiva, J.. "Report on selected papers from LDTA 2003". Science of Computer Programming 68 1 SPEC. IS (2007): http://www.scopus.com/inward/record.url?eid=2-s2.0-34547436309&partnerID=MN8TOARS.
    10.1016/j.scico.2007.04.004
  25. Bigonha, R.S.; Musicante, M.A.; Pardo, A.; Garcia, A.; Martini, A.; Moreira, Á.F.; De Melo, A.C.V.; et al. "Selected papers from SBLP 2007: The 11th brazilian symposium on programming languages J.UCS special issue". Journal of Universal Computer Science 13 6 (2007): 679-681. http://www.scopus.com/inward/record.url?eid=2-s2.0-34548013342&partnerID=MN8TOARS.
  26. Bigonha, M.A.S.; De Vasconcellos Garcia, A.; Compagnoni, A.; Pardo, A.; Martini, A.; Santos, A.; Rubira, C.; et al. "Selected papers from SBLP 2006: The 10th Brazilian Symposium on Programming Languages J.UCS Special Issue". Journal of Universal Computer Science 12 7 (2006): 762-763. http://www.scopus.com/inward/record.url?eid=2-s2.0-33747888037&partnerID=MN8TOARS.
  27. Lämmel, R.; Saraiva, J.; Visser, J.. "Lecture Note in Computer Science (including subseries Lecture Note in Artificial Intelligence and Lecture Note in Bioinformatics): Preface". Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics) 4143 LNCS (2006): http://www.scopus.com/inward/record.url?eid=2-s2.0-33750087839&partnerID=MN8TOARS.
  28. Bryant, B.; Saraiva, J.. "Electronic Notes in Theoretical Computer Science: Preface". Electronic Notes in Theoretical Computer Science 82 3 (2003): 461-462. http://www.scopus.com/inward/record.url?eid=2-s2.0-19044386204&partnerID=MN8TOARS.
    10.1016/S1571-0661(05)82622-2
  29. Saraiva, J.; Swierstra, D.. "Generating spreadsheet-like tools from strong attribute grammars". Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics) 2830 (2003): 307-323. http://www.scopus.com/inward/record.url?eid=2-s2.0-35248826436&partnerID=MN8TOARS.
    10.1007/978-3-540-39815-8_19
  30. Barthe, G.; Dybjer, P.; Pinto, L.; Saraiva, J.. "Preface". Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics) 2395 LNCS (2002): http://www.scopus.com/inward/record.url?eid=2-s2.0-84886772625&partnerID=MN8TOARS.
  31. Saraiva, J.; Henriques, P.. "Concurrent attribute evaluation". Computing Systems in Engineering 6 4-5 (1995): 451-457. http://www.scopus.com/inward/record.url?eid=2-s2.0-0029350412&partnerID=MN8TOARS.
    10.1016/0956-0521(95)00028-3
Magazine article
  1. Pereira, Rui; Cunha, Jacome; Fernandes, Joao Paulo; Abreu, Rui; Saraiva, João. "GreenSoftwareLab: Towards an Engineering Discipline for Green Software", Impact, 2017, https://impact.pub/.

Other

Other output
  1. Tabula: A Language to Model Spreadsheet Tables. 2017. Mendes, J; Saraiva, J.
  2. Querying Spreadsheets: An Empirical Study. 2015. Cunha, Jacome; Fernandes, JoaoPaulo; Pereira, Rui; Saraiva, Joao.
  3. An Empirical Study on End-users Productivity Using Model-based Spreadsheets. 2011. Beckwith, Laura; Cunha, Jacome; Fernandes, JoaoPaulo; Saraiva, Joao.
Activities

Supervision

Thesis Title
Role
Degree Subject (Type)
Institution / Organization
2022/01/01 - Current Zipper-based Strategic Attribute Grammars. PhD Student under FCT grant SFRH/BD/08184/2021.
Supervisor
MAPi (PhD)
Universidade do Minho, Portugal
2018/01/01 - Current Automated Program Repair. PhD Student under FCT grant SFRH/BD/144938/2019.
Supervisor
MAPi (PhD)
Universidade do Minho, Portugal
2018/01/01 - Current Green Software in the Large: Repository and Analysis. PhD Student under FCT grant SFRH/BD/146624/2019
Supervisor
MAPi (PhD)
Universidade do Minho, Portugal
2014/03/01 - 2019/03/01 Embedding Attribute Grammars and their Extensions using Functional Zippers
Supervisor
MAPi (PhD)
Universidade do Minho, Portugal
2013/01/01 - 2018/10/01 Energyware Engineering: Techniques and Tools for Green Software Development. Bolsa FCT SFRH/BD/112733/2015.
Supervisor
MAPi (PhD)
Universidade do Minho, Portugal
2013/01/01 - 2018/02/01 Evolution of Model-Driven Spreadsheets in a Collaborative Environment. Bolsa FCT SFRH/BD/112651/2015.
Supervisor
MAPi (PhD)
Universidade do Minho, Portugal
2011/01/01 - 2017/12/01 Supporting Software Developers in Making Energy Saving Decisions, PhD Student under FCT grant SFRH/BD/132485/2017
Supervisor
MAPi (PhD)
Universidade do Minho, Portugal
2007/09/01 - 2011/03/01 Spreadsheets as a Programming Paradigm, bolsa FCT SFRH/BD/30231/2006
Supervisor
MAPi (PhD)
Universidade do Minho, Portugal
2006/12/01 - 2010/12/01 Formal Methods and Reverse Engineering Applied to Interactive Systems. Bolsa FCT SFRH/BD/30729/2006
Supervisor
Universidade do Minho, Portugal
2005/03/01 - 2009/03/01 Design, Implementation and Calculation of Circular Programs. Bolsa FCT SFRH/BD/19186/2004
Supervisor
Universidade do Minho, Portugal
2005/03/01 - 2009/03/01 Semântica Multidimensional de Linguagens de Programação
Co-supervisor
Universidade do Federal de Minas Gerais , Brazil

Committee member

Activity description
Role
Institution / Organization
2013/07/01 - Current Membro do Painel Ciência e Engenharia Informática, Bolsas Individuais de Doutoramento, e de Pós-Doutoramento, em 2013
Member
Fundação para a Ciência e a Tecnologia, Portugal

Evaluation committee

Activity description
Role
Institution / Organization Funding entity
2021/04/01 - Current Avaliador do "la Caixa" fellowship programme Postgraduate studies abroad. Spain.
Evaluator
La Caixa Foundation FBLC, Spain
2010/01/01 - Current Membro externo do júri de selecção do prémio 2010 Annual Prize IBM Belgium of informatics. FRS - FNRS - Fonds de la Recherche Scientifique . Belgium.
Member
Fonds de la Recherche Scientific, Belgium IBM Belgium/Luxembourg
2009/01/01 - Current Membro do painel de avaliação de projectos do programa Physical Sciences division of the Free Competition, in astronomy, computer science or mathematics. NWO. The Netherlands
Member
Nederlandse Organisatie voor Wetenschappelijk Onderzoek, Netherlands
2008/01/01 - Current Membro do painel de avaliação de projectos do programa Fondo Clemente Estable 2007 (FCE 2007). Uruguai.
Evaluator
Agencia Nacional de Investigación e Innovación, Uruguay
2013/01/01 - 2014/12/31 Austrian Science Fund (FWF), Avaliador de projectos nos anos 2013 e 2014. Austria.
Member

Other jury / evaluation

Activity description Institution / Organization
2011/05/01 - Current Membro do júri do concurso "Professor position in Information and Communication Systems", Faculty of Computer Science, University of Namur (FUNDP), Bélgica. Université de Namur, Belgium
Distinctions

Award

2019 Most Influential Paper (MIP) of 10+/-1 year at VL/HCC.
2017 Best Papaer Award
2017 Silver medal - ACM Student Research Competition (SRC) at ICSE'17