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

Identificação pessoal

Nome completo
João Alexandre Baptista Vieira Saraiva

Nomes de citação

  • Saraiva, João

Identificadores de autor

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

Formação
Grau Classificação
1995/09/01 - 1999/12/09
Concluído
Computer Science (Doutoramento)
Especialização em Computer Science
Universiteit Utrecht, Países Baixos
Percurso profissional

Docência no Ensino Superior

Categoria Profissional
Instituição de acolhimento
Empregador
2018/11/27 - Atual Professor Associado (Docente Universitário) Universidade do Minho, Portugal
1993/12/06 - 2018/12/10 Professor Auxiliar (Docente Universitário) Universidade do Minho, Portugal
Universidade do Minho, Portugal

Outros

Categoria Profissional
Instituição de acolhimento
Empregador
2015/06 - 2015/09 Visiting Professor Vietnam National University Ho Chi Minh City, Vietname
Vietnam National University Ho Chi Minh City, Vietname
2015/02 - 2015/03 Visiting Research Fellow National Institute of Informatics (NII), Japão
National Institute of Informatics (NII), Japão
2014/08 - 2014/12 Professor Visitante do Exterior (PEV/CAPES) Universidade Federal de Pernambuco, Brasil
Universidade Federal de Pernambuco, Brasil
2008/02 - 2008/02 Visiting Researcher The Texas University at Austin , Estados Unidos
The Texas University at Austin , Estados Unidos
2002/09 - 2002/12 Visiting Research Fellow University of Oxford Department of Computing Science, Reino Unido
University of Oxford Department of Computing Science, Reino Unido
Projetos

Projeto

Designação Financiadores
2020/09/01 - 2023/08/31 Promoting Sustainability as a Fundamental Driver in Software Development Training and Education
Investigador
Universidade do Minho, Portugal
European Union
Em curso
2016/07/01 - 2019/12/31 GreenSoftwareLab – Towards an Engineering Discipline for Green Software
Investigador responsável
Fundação para a Ciência e a Tecnologia, Portugal
Concluído
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
Concluído
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
Concluído
2012/01 - 2015/01 AutoSeer: Automated Test Oracles for Software Error Detection
PTDC/EIA-CCO/116796/2010
Investigador
Universidade do Porto Faculdade de Engenharia, Portugal
Fundação para a Ciência e a Tecnologia
Concluído
2012/01 - 2015/01 FATBIT: Foundations, Applications and Tools for Bidirectional Transformations
{PTDC/EIA-CCO/120838/2010
Investigador
Universidade do Minho, Portugal
Fundação para a Ciência e a Tecnologia
Concluído
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
Concluído
2010/09/01 - 2013/12/31 SSaaPP: SpreadSheets as a Programming Paradigm
Investigador responsável
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
Concluído
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
Concluído
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
Concluído
Produções

Publicações

Artigo em conferência
  1. Simão Cunha; Luís Silva; João Saraiva; João Paulo Fernandes. "Trading Runtime for Energy Efficiency: Leveraging Power Caps to Save Energy across Programming Languages". 2024.
    10.1145/3687997.3695638
  2. Sofia Santos; João Saraiva; Francisco Ribeiro. "Large Language Models in Automated Repair of Haskell Type Errors". 2024.
    10.1145/3643788.3648012
  3. Francisco Ribeiro; José Nuno Macedo; Tsushina Kanae; Rui Abreu; Saraiva, João. Autor correspondente: Francisco Ribeiro. "GPT-3-Powered Type Error Debugging: Investigating the Use of Large Language Models for Code Repair". Trabalho apresentado em SLE 2023 - Proceedings of the 16th ACM SIGPLAN International Conference on Software Language Engineering, Co-located with: SPLASH 2023, 2023.
    Publicado • 10.1145/3623476.3623522
  4. Walter Lucas; Rodrigo Bonifácio; Saraiva, João. "Understanding the Motivations, Challenges, and Practices of Software Rejuvenation". Trabalho apresentado em Proceedings - 2023 IEEE International Conference on Software Maintenance and Evolution, ICSME 2023, 2023.
    10.1109/ICSME58846.2023.00082
  5. José Nuno Macedo; Emanuel Rodrigues; Marcos Viera; Saraiva, João. Autor correspondente: José Nuno Macedo. "Efficient Embedding of Strategic Attribute Grammars via Memoization". Trabalho apresentado em PEPM 2023 - Proceedings of the 2023 ACM SIGPLAN International Workshop on Partial Evaluation and Program Manipulation, co-located with POPL 2023, 2023.
    Publicado • 10.1145/3571786.3573019
  6. Rua, Rui; Saraiva, João. "PyAnaDroid: A fully-customizable execution pipeline for benchmarking Android Applications". 2023.
    10.1109/icsme58846.2023.00077
  7. Rua, Rui; Saraiva, João. "E-MANAFA: Energy Monitoring and ANAlysis tool For Android". 2022.
    10.1145/3551349.3561342
  8. De Macedo, Joao; Abreu, Rui; Pereira, Rui; Saraiva, Joao. "WebAssembly versus JavaScript: Energy and Runtime Performance". 2022.
    10.1109/ict4s55073.2022.00014
  9. Ribeiro, Francisco; Abreu, Rui; Saraiva, João. "Framing program repair as code completion". 2022.
    10.1145/3524459.3527347
  10. Saraiva, João; Zong, Ziliang; Pereira, Rui. "Bringing Green Software to Computer Science Curriculum: Perspectives from Researchers and Educators". 2021.
    10.1145/3430665.3456386
  11. Brito, Miguel; Cunha, Jácome; Saraiva, João. "Identification of microservices from monolithic applications through topic modelling". 2021.
    10.1145/3412841.3442016
  12. Ribeiro, Francisco; Abreu, Rui; Saraiva, João. "On Understanding Contextual Changes of Failures". 2021.
    10.1109/qrs54544.2021.00112
  13. 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
  14. 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
  15. Macedo, José; Saraiva, João. "Embedded Disambiguation Filters for Ambiguous Grammars". Trabalho apresentado em 12th International Symposium on Software Engineering Processes and Applications, Cagliari, 2020.
    Publicado
  16. Macedo, JN; Saraiva, J. "Expressing Disambiguation Filters as Combinators". 2020.
    10.1145/3341105.3374123
  17. Rua, R; Fraga, T; Couto, M; Saraiva, J. "Greenspecting Android virtual keyboards". 2020.
    10.1145/3387905.3388600
  18. Couto, M; Maia, D; Saraiva, J; Pereira, R. "On energy debt: managing consumption on evolving software". 2020.
    10.1145/3387906.3388628
  19. Couto, M; Saraiva, J; Fernandes, JP. "Energy Refactorings for Android in the Large and in the Wild". 2020.
    10.1109/saner48275.2020.9054858
  20. Rua, R; Couto, M; Saraiva, J. "GreenSource: A large-scale collection of android code, tests and energy metrics". 2019.
    10.1109/msr.2019.00035
  21. Rua, R; Couto, M; Pinto, A; Cunha, J; Saraiva, J. "Towards using Memoization for Saving Energy in Android". 2019.
  22. Macedo, JN; Moreira, R; Cunha, J; Saraiva, J. "Get Your Spreadsheets Under (Version) Control". 2019.
  23. Ribeiro, F; Saraiva, J; Pardo, A. "Java Stream Fusion: Adapting FP mechanisms for an OO setting". 2019.
    10.1145/3355378.3355386
  24. 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". Trabalho apresentado em 3COWS Winter School, Kosice, 2018.
    Submetido
  25. Pereira, R; Simão, P; Cunha, J; Saraiva, J. "jStanley: placing a green thumb on Java collections". 2018.
    10.1145/3238147.3240473
  26. Pereira, R; Couto, M; Ribeiro, F; Rua, R; Saraiva, J. "Energyware Analysis". 2018.
  27. Pereira, Rui; Couto, Marco; Fernandes, JoaoPaulo; Saraiva, João. "Static Energy Consumption Analysis in Variability Systems". Trabalho apresentado em Green in Software Engineering Workshop, Amsterdam, 2017.
  28. 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
  29. Couto, M.; Pereira, R.; Ribeiro, F.; Rua, R.; Saraiva, J.. "Towards a green ranking for programming languages". 2017.
    10.1145/3125374.3125382
  30. 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
  31. Mendes, J.; Cunha, J.; Duarte, F.; Engels, G.; Saraiva, J.; Sauer, S.. "Towards systematic spreadsheet construction processes". 2017.
    10.1109/ICSE-C.2017.141
  32. Santos, M.; Saraiva, J.; Porkoláb, Z.; Krupp, D.. "Energy consumption measurement of C/C++ programs using clang tooling". 2017.
  33. 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
  34. Saraiva, J; Guimarales, M; Belot, O. "AN ECONOMIC ENERGY APPROACH FOR QUERIES ON DATA CENTERS". 2017.
  35. Mendes, J; Cunha, J; Duarte, F; Engels, G; Saraiva, J; Sauer, S. "Systematic Spreadsheet Construction Processes". 2017.
    10.1109/vlhcc.2017.8103459
  36. 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
  37. 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
  38. Pereira, R.; Saraiva, J.; Cunha, J.; Fernandes, J.P.. "User-friendly spreadsheet querying: An empirical study". 2016.
    10.1145/2851613.2851910
  39. 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
  40. Zhu, Z.; Zhang, Y.; Ko, H.-S.; Martins, P.; Saraiva, J.; Hu, Z.. "Parsing and reflective printing, bidirectionally". 2016.
    10.1145/2997364.2997369
  41. Gonçalves, R.; Saraiva, J.; Belo, O.. "Defining energy consumption plans for data querying processes". 2015.
    10.1109/BDCloud.2014.109
  42. Zhu, Z.; Ko, H.-S.; Martins, P.; Saraiva, J.; Hu, Z.. "BiYacc: Roll your parser and reflective printer into one". 2015.
  43. 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.
  44. Almeida, D.; Campos, J.C.; Saraiva, J.; Silva, J.C.. "Towards a catalog of usability smells". 2015.
    10.1145/2695664.2695670
  45. 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
  46. Cunha, J.; Fernandes, J.P.; Mendes, J.; Pereira, R.; Saraiva, J.. "ES-SQL: Visually querying spreadsheets". 2014.
    10.1109/VLHCC.2014.6883056
  47. Martins, P.; Saraiva, J.; Fernandes, J.P.; Van Wyk, E.. "Generating attribute grammar-based bidirectional transformations from rewrite rules". 2014.
    10.1145/2543728.2543745
  48. Cunha, J.; Fernandes, J.P.; Martins, P.; Pereira, R.; Saraiva, J.. "Refactoring meets model-driven spreadsheet evolution". 2014.
    10.1109/quatic.2014.34
  49. 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
  50. 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
  51. Abreu, R.; Cunha, J.; Fernandes, J.P.; Martins, P.; Perez, A.; Saraiva, J.. "Smelling faults in spreadsheets". 2014.
    10.1109/icsme.2014.33
  52. Cunha, J.; Fernandes, J.P.; Mendes, J.; Pereira, R.; Saraiva, J.. "MDSheet -model-driven spreadsheets". 2014.
  53. 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
  54. Cunha, J.; Fernandes, J.P.; Mendes, J.; Pereira, R.; Saraiva, J.. "Querying model-driven spreadsheets". 2013.
    10.1109/vlhcc.2013.6645247
  55. 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.
  56. Damasceno, A; Carreiro, A; Saraiva, J; Neto, J; Landeck, J. "Using Cloogy and Case Based Reasoning to Identify Electrical Consumptions". 2013.
  57. Martins, P; Fernandes, JP; Saraiva, J. "A Purely Functional Combinator Language for Software Quality Assessment". 2012.
    10.4230/oasics.slate.2012.51
  58. Cunha, J.; Fernandes, J.P.; Mendes, J.; Saraiva, J.. "Extension and implementation of ClassSheet models". 2012.
    10.1109/vlhcc.2012.6344473
  59. Cunha, J.; Fernandes, J.P.; Peixoto, C.; Saraiva, J.. "A quality model for spreadsheets". 2012.
    10.1109/quatic.2012.16
  60. 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
  61. Cunha, J.; Fernandes, J.P.; Mendes, J.; Saraiva, J.. "Towards an evaluation of bidirectional model-driven spreadsheets". 2012.
    10.1109/USER.2012.6226577
  62. Cunha, J.; Fernandes, J.P.; Mendes, J.; Saraiva, J.. "MDSheet: A framework for model-driven spreadsheet engineering". 2012.
    10.1109/icse.2012.6227239
  63. Cunha, J.; Fernandes, J.P.; Mendes, J.; Saraiva, J.. "A bidirectional model-driven spreadsheet environment". 2012.
    10.1109/ICSE.2012.6227073
  64. Cunha, J.; Fernandes, J.P.; Saraiva, J.. "From relational ClassSheets to UML+OCL". 2012.
    10.1145/2245276.2231957
  65. Cunha, J.; Mendes, J.; Saraiva, J.; Fernandes, J.P.. "Embedding and evolution of spreadsheet models in spreadsheet systems". 2011.
    10.1109/vlhcc.2011.6070396
  66. Fernandes, J.P.; Saraiva, J.; Seidel, D.; Voigtländer, J.. "Strictification of circular programs". 2011.
    10.1145/1929501.1929526
  67. Cunha, J.; Erwig, M.; Saraiva, J.. "Automatically inferring classsheet models from spreadsheets". 2010.
    10.1109/vlhcc.2010.22
  68. 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
  69. 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
  70. Silva, J.C.; Saraiva, J.; Campos, J.C.. "A generic library for GUI reasoning and testing". 2009.
    10.1145/1529282.1529307
  71. Cunha, J.; Saraiva, J.; Visser, J.. "Discovery-based edit assistance for spreadsheets". 2009.
    10.1109/vlhcc.2009.5295255
  72. 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
  73. Cunha, J.; Saraiva, J.; Visser, J.. "From spreadsheets to relational databases and back". 2009.
    10.1145/1480945.1480972
  74. Saraiva, H.D.S.; Da Silva, A.R.. "The projectIT-studio UMLmodeler: A tool for the design and transformation of UML models". 2008.
  75. Fernandes, J.P.; Pardo, A.; Saraiva, J.. "A shortcut fusion rule for circular program calculation". 2007.
    10.1145/1291201.1291216
  76. Da Silva, A.R.; Saraiva, J.; Silva, R.; Martins, C.. "XIS - UML profile for eXtreme modeling interactive systems". 2007.
    10.1109/MOMPES.2007.19
  77. Fernandes, J.P.; Saraiva, J.. "Tools and libraries to model and manipulate circular programs". 2007.
    10.1145/1244381.1244399
  78. 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
  79. Saraiva, J.; Schneider, S.. "Embedding domain specific languages in the attribute grammar formalism". 2003.
    10.1109/HICSS.2003.1174889
  80. Swierstra, SD; Alcocer, PRA; Saraiva, J. "Designing and Implementing Combinator Languages". 1998.
    10.1007/10704973_4
Artigo em revista
  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. Silva, João C.; Silva, José L.; Campos, José Creissac; Saraiva, João. "Uma Abordagem para a Geração de Casos de Teste Baseada em Modelos". Sistemas e Tecnologias de Informação (CISTI 2013) 2 1 (2013): 142-146. http://hdl.handle.net/1822/26575.
    Publicado
  18. 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
  19. Silva, JC; Campos, JC; Saraiva, J. "GUI Inspection from Source Code Analysis". ECEASST (2010):
    10.14279/tuj.eceasst.33.459
  20. 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
  21. 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.
  22. 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.
  23. 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
  24. 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
  25. 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
  26. 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.
  27. 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.
  28. 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.
  29. 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
  30. 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
  31. 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.
  32. 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
Artigo em revista (magazine)
  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/.
Capítulo de livro
  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
  8. Rua, Rui; Fernandes, Joao; Pereira,Rui; Ribeiro, Francisco; Macedo, José; Saraiva, João; Cunha, Jácome. "Compilers going Green - An empirical evaluation of functional language performance". In Lecture Notes in Computer Science 2020. 2020.
    Aceite para publicação
Edição de livro
  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.
Livro
  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

Outros

Outra produção
  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.
Atividades

Orientação

Título / Tema
Papel desempenhado
Curso (Tipo)
Instituição / Organização
2022/01/01 - Atual Zipper-based Strategic Attribute Grammars. PhD Student under FCT grant SFRH/BD/08184/2021.
Orientador
MAPi (Doutoramento)
Universidade do Minho, Portugal
2018/01/01 - Atual Automated Program Repair. PhD Student under FCT grant SFRH/BD/144938/2019.
Orientador
MAPi (Doutoramento)
Universidade do Minho, Portugal
2018/01/01 - Atual Green Software in the Large: Repository and Analysis. PhD Student under FCT grant SFRH/BD/146624/2019
Orientador
MAPi (Doutoramento)
Universidade do Minho, Portugal
2014/03/01 - 2019/03/01 Embedding Attribute Grammars and their Extensions using Functional Zippers
Orientador
MAPi (Doutoramento)
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.
Orientador
MAPi (Doutoramento)
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.
Orientador
MAPi (Doutoramento)
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
Orientador
MAPi (Doutoramento)
Universidade do Minho, Portugal
2007/09/01 - 2011/03/01 Spreadsheets as a Programming Paradigm, bolsa FCT SFRH/BD/30231/2006
Orientador
MAPi (Doutoramento)
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
Orientador
Universidade do Minho, Portugal
2005/03/01 - 2009/03/01 Design, Implementation and Calculation of Circular Programs. Bolsa FCT SFRH/BD/19186/2004
Orientador
Universidade do Minho, Portugal
2005/03/01 - 2009/03/01 Semântica Multidimensional de Linguagens de Programação
Coorientador
Universidade do Federal de Minas Gerais , Brasil

Comissão de avaliação

Descrição da atividade
Tipo de assessoria
Instituição / Organização Entidade financiadora
2021/04/01 - Atual Avaliador do "la Caixa" fellowship programme Postgraduate studies abroad. Spain.
Avaliador
La Caixa Foundation FBLC, Espanha
2010/01/01 - Atual 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.
Membro
Fonds de la Recherche Scientific, Bélgica IBM Belgium/Luxembourg
2009/01/01 - Atual 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
Membro
Nederlandse Organisatie voor Wetenschappelijk Onderzoek, Países Baixos
2008/01/01 - Atual Membro do painel de avaliação de projectos do programa Fondo Clemente Estable 2007 (FCE 2007). Uruguai.
Avaliador
Agencia Nacional de Investigación e Innovación, Uruguai
2024/06/03 - 2025/01/17 Postdoctoral Junior Leader Fellowships 2025 - Expert evaluator
Avaliador
2013/01/01 - 2014/12/31 Austrian Science Fund (FWF), Avaliador de projectos nos anos 2013 e 2014. Austria.
Membro

Membro de comissão

Descrição da atividade
Tipo de participação
Instituição / Organização
2013/07/01 - Atual Membro do Painel Ciência e Engenharia Informática, Bolsas Individuais de Doutoramento, e de Pós-Doutoramento, em 2013
Membro
Fundação para a Ciência e a Tecnologia, Portugal

Outro júri / avaliação

Descrição da atividade Instituição / Organização
2011/05/01 - Atual 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, Bélgica
Distinções

Prémio

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