Note: this page stopped to be maintained in the end of 2014. For newer information about me please visit my new web page at http://jacome.me.


About Me - Jácome Cunha

Currently, I'm an Assistant Professor at Universidade Nova de Lisboa, Department of Informatics, and a member of the research center HASLab/INESC Tec.
My research is mainly focused on Programming Languages (PLs) and Software Engineering (SE), where I try to improve the effectiveness, efficiency, and usability of software. I have contributed with such techniques for spreadsheets, and for improving software energy consumption.
I obtained my PhD degree in Computer Science from Universidade do Minho in 2011. I was then a post-doctoral fellow at Universidade do Minho and Oregon State University. I was also an Invited Professor at Escola Superior de Tecnologia e Gestão de Felgueiras - Instituto Politécnico do Porto.
I was a member of the research projects Program Understanding and Re-engineering: Calculi and Applications (PURe) and SpreadSheets as a Programming Paradigm (SSaaPP). Currently, I'm a member of the research team of the project Foundations, Applications and Tools for Bidirectional Transformation (FATBIT). The three projects were funded by the Portuguese Science Foundation (FCT). I'm also the coordinator of the bilateral project Spreadsheet Models for the Real World, a collaboration between three universities in Portugal and one in Germany (this project is still under consideration for funding).
My photo.

More about my work at [Academia.edu] [ACM] [DBLP] [DeGóis] [Google Scholar] [LinkedIn] [Microsoft Academic] [ORCID] [repositoriUM] [ResearcherID (ISI)] [Scopus] [Springer]

Activities

Reviewing

I have proudly serve(d) as reviewer for the following journals: ASE (Springer), DKE (Elsevier), ESE (Springer), and JVLC (Elsevier).



I have also proudly served as an external reviewer for HASKELL '09, CALCO-Tools '11, SLE '11, PEPM '12, LDTA '12, SLE '12, PEPM '13, ECMFA '13, and SLE '13,

Organizing

I was in the organizing committee of GTTSE '11, as responsible for local arrangements and registration.

I am the co-organizer of the HASLab Seminar Series in collaboration with José Creissac Campos. Please, contact us if you woold like to participate in the seminars or if you woold like to give a talk.

I am also one of the content editors of the website of my research group HASLab/INESC TEC.
(top)

Publications

Download a BibTeX file with my publications here.

2014

  1. (PDF)
    Embedding, Evolution, and Validation of Model-Driven Spreadsheets. Jácome Cunha, João Paulo Fernandes, Jorge Mendes, João Saraiva. IEEE Transactions on Software Engineering (in press.)


  2. (PDF)
    SSaaPP: SpreadSheets as a Programming Paradigm - Project's Final Report. João Saraiva et al. Technical Report TR-HASLab:02:2014.


  3. (PDF)
    Smelling Faults in Spreadsheets. Rui Abreu, Jácome Cunha, João Paulo Fernandes, Pedro Martins, Alexandre Perez, João Saraiva. In the Proceedings of the 30th IEEE International Conference on Software Maintenance and Evolution, Victoria, City of Gardens, British Columbia, Canada, (to appear). IEEE.


  4. (PDF)
    Embedding Model-Driven Spreadsheet Queries in Spreadsheet Systems. Jácome Cunha, João Paulo Fernandes, Jorge Mendes, Rui Pereira, João Saraiva. In the Proceedings of the IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC'14), 28 July - 1 August 2014, Melbourne, Australia, 151-154.


  5. (PDF)
    ES-SQL: Visually Querying Spreadsheets. Jácome Cunha, João Paulo Fernandes, Jorge Mendes, Rui Pereira, João Saraiva. In the Proceedings of the IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC'14), Formal Tool Demo, 28 July - 1 August 2014, Melbourne, Australia, 203-204.


  6. (PDF)
    Detecting Anomalous Energy Consumption in Android Applications. Tiago Carção, Marco Couto, Jácome Cunha, João Paulo Fernandes, João Saraiva. In the Proceedings of the 18th Brazilian Symposium on Programming Languages (SBLP'14), 2-3 October 2014, Maceio, Brazil, (to appear).


  7. (PDF)(Slides)
    MDSheet - Model-Driven Spreadsheets. Jácome Cunha, João Paulo Fernandes, Jorge Mendes, Rui Pereira, João Saraiva. In the Proceedings of the 1st Workshop on Software Engineering methods in Spreadsheets, 2nd of July, 2014, Delft, The Netherlands, (to appear).


  8. (PDF)
    Refactoring meets Model-Driven Spreadsheet Evolution. Jácome Cunha, João Paulo Fernandes, Pedro Martins, Rui Pereira, João Saraiva. In the Proceedings of the International Conference on the Quality of Information and Communications Technology (QUATIC'14), 23-26 September 2014, Guimarães, Portugal, (to appear).


  9. (DOI)(PDF)
    Graphical Querying of Model-Driven Spreadsheets. Jácome Cunha, João Paulo Fernandes, Rui Pereira, João Saraiva. In the Proceedings of the 16th International Conference on Human-Computer Interaction, 22 - 27 June 2014, Creta Maris, Heraklion, Crete, Greece, 419-430.


  10. (PDF)
    Embedding, Evolution, and Validation of Model-Driven Spreadsheets. Jácome Cunha, João Paulo Fernandes, Jorge Mendes, João Saraiva. Technical Report TR-HASLab:01:2014.


  11. (PDF) (DOI)
    Model Inference for Spreadsheets Jácome Cunha, Martin Erwig, Jorge Mendes, João Saraiva. In Automated Software Engineering (ASE), Springer, 2014. (in press.)


  12. (PDF)
    Design and Implementation of Queries for Model-Driven Spreadsheets Jácome Cunha, João Paulo Fernandes, Jorge Mendes, Rui Pereira, João Saraiva, In Central European Functional Programming - Summer School on Domain-Specific Languages, Springer, 2014. (to appear.)


  13. (PDF)(Web version @ ScienceDirect)(DOI)
    Model-based Programming Environments for Spreadsheets Jácome Cunha, Jorge Mendes, João Saraiva, Joost Visser, In Science of Computer Programming (SCP), Elsevier, 2014.


  14. (PDF)(Slides)
    Spreadsheet Engineering Jácome Cunha, João Paulo Fernandes, Jorge Mendes, João Saraiva, Invited tutorial in Central European Functional Programming - Summer School on Domain-Specific Languages, Springer, 2013. (to appear)


2013

  1. (PDF)
    Querying Model-Driven Spreadsheets Jácome Cunha, João Paulo Fernandes, Jorge Mendes, Rui Pereira, João Saraiva, In the Proceedings of the IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC '13), pages 83-86, September 15-19, 2012. San Jose, CA, USA.


  2. (PDF)
    QuerySheet: A Bidirectional Query Environment for Model-Driven Spreadsheets
    Orlando Belo, Jácome Cunha, João Paulo Fernandes, Jorge Mendes, Rui Pereira, João Saraiva, In the Proceedings of the IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC '13), pages 199-200, September 15-19, 2012. San Jose, CA, USA.


  3. (PDF)
    Complexity Metrics for ClassSheet Models Jácome Cunha, João Paulo Fernandes, Jorge Mendes João Saraiva, In The 13th International Conference on Computational Science and Its Applications (ICCSA 2013), pages 459-474, Ho Chi Minh City, Vietnam, June 24-27, 2013.


2012

  1. (PDF) (Poster) (Tool Demo Video (@youtube))
    SmellSheet Detective: A Tool for Detecting Bad Smells in Spreadsheets
    Jácome Cunha, João Paulo Fernandes, Jorge Mendes, Pedro Martins, João Saraiva, In the Proceedings of the IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC '12), Formal Demonstration, pages 243-244, September 30-October 4, 2012. Innsbruck, Austria.


  2. (PDF) (Talk)
    Extension and Implementation of ClassSheet Models Jácome Cunha, João Paulo Fernandes, Jorge Mendes, João Saraiva, In the Proceedings of the IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC '12), pages 19-22, September 30-October 4, 2012. Innsbruck, Austria.


  3. (PDF) (Talk)
    Model-based Programming Environments for Spreadsheets Jácome Cunha, João Saraiva, Joost Visser, In the Proceedings of the 16th Brazilian Symposium on Programming Languages (SBLP '12), pages 117-133, Natal, Rio Grande do Norte, Brazil, September 24-28, 2012.


  4. (PDF) (Talk)
    A Quality Model for Spreadsheets Jácome Cunha, João Paulo Fernandes, Christophe Peixoto, João Saraiva, In the Proceedings of the 8th International Conference on the Quality of Information and Communications Technology, Quality in ICT Evolution Track, pages 231-236, Lisbon, Portugal, 3 to 6 September 2012.


  5. (PDF)
    Towards an Evaluation of Bidirectional Model-driven Spreadsheets Jácome Cunha, João Paulo Fernandes, Jorge Mendes, João Saraiva, In the Proceedings of the User evaluation for Software Engineering Researchers (USER' 12), collocated with 34th International Conference on Software Engineering (ICSE' 12), Zurich, Switzerland, pages 25-28, June 2012.


  6. (PDF - Poster) (PDF - Abstract)
    A Bidirectional Model-driven Spreadsheet Environment Jácome Cunha, João Paulo Fernandes, Jorge Mendes, João Saraiva, In the 34th International Conference on Software Engineering (ICSE' 12), Poster/Abstract, Zurich, Switzerland, pages 1443-1444, June 2012.


  7. (PDF) (Talk)
    Towards a Catalog of Spreadsheet Smells Jácome Cunha, João Paulo Fernandes, Hugo Ribeiro, João Saraiva, In the Proceedings of The 12th International Conference on Computational Science and Its Applications (ICCSA '12), June 18-21, 2012, pages 202-216, Salvador de Bahia, Brazil.


  8. (PDF) (Talk)
    Bidirectional Transformation of Model-Driven Spreadsheets Jácome Cunha, João Paulo Fernandes, Jorge Mendes, Hugo Pacheco, João Saraiva, In the 5th International Conference on Model Transformation (ICMT '12), Czech Republic, Prague, pages 105-120, 28-29 May 2012.


  9. Model-based Spreadsheet Engineering: Using Relational Models to Improve Spreadsheets
    Jácome Cunha, Ed. Shahanaz Soogah, LAP LAMBERT Academic Publishing, ISBN 978-3-8484-3036-9. The book publishes a revised version of the PhD thesis. The book is available at Amazon.


  10. (PDF) (Talk)
    MDSheet: A Framework for Model-driven Spreadsheet Engineering Jácome Cunha, João Paulo Fernandes, Jorge Mendes, João Saraiva, In the 34th International Conference on Software Engineering (ICSE' 12), Formal Demonstration, Zurich, Switzerland, pages 1412-1415, June 2012.


  11. (PDF) (Talk)
    From Relational ClassSheets to UML+OCL Jácome Cunha, João Paulo Fernandes, João Saraiva, In the Software Engineering Track at the 27th Annual ACM Symposium On Applied Computing (SAC 2012), pages 1151-1158, Riva del Garda (Trento), Italy, March 2012.


2011

  1. (PDF) (Talk)
    Embedding and Evolution of Spreadsheet Models in Spreadsheet Systems Jácome Cunha, Jorge Mendes, João Paulo Fernandes,João Saraiva, In proceedings of the 2011 IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC 2011), Pittsburgh, PA, USA, IEEE Computer Society, pages 179-186, September 2011.


  2. (PDF)(Tool Demo Video)
    HaExcel: a model-based spreadsheet evolution system Jácome Cunha, Jorge Mendes, João Paulo Fernandes, João Saraiva, Poster/Tool Demo at the 2011 IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC 2011), Pittsburgh, PA, USA, IEEE Computer Society, September 2011.


  3. (PDF) (Talk)
    An Empirical Study on End-users Productivity Using Model-based Spreadsheets Laura Beckwith, Jácome Cunha, João Paulo Fernandes, João Saraiva, In EuSpRIG '11: Proceedings of the European Spreadsheet Risks Interest Group. pages 87-100. (This paper is an extended version of the IS-EUD 2011 paper.)


  4. (PDF) (Talk)
    End-users Productivity in Model-based Spreadsheets: An Empirical Study Laura Beckwith, Jácome Cunha, João Paulo Fernandes, João Saraiva, In IS-EUD '11: Proceedings of the Third International Symposium on End-User Development. pages 282-288. Proceedings available at Amazon.


  5. (PDF) (Talk)
    Model-based Spreadsheet Engineering Jácome Cunha, PhD thesis, defended in March 2011.


  6. (PDF) (Talk)
    Type-safe Evolution of Spreadsheets Jácome Cunha, Joost Visser,Tiago Alves, João Saraiva, In FASE '11: Proceedings of the International Conference on Fundamental Approaches to Software Engineering: Held as Part of the Joint European Conferences on Theory and Practice of Software, ETAPS 2011, Berlin, Heidelberg, 2011. Springer-Verlag. pages 186-201.


2010

  1. (PDF)
    End Users Productivity in Model-based Spreadsheets: An Empirical Study Jácome Cunha, Laura Beckwith, João Paulo Fernandes, João Saraiva, Technical Report DI-CCTC-10-10, CCTC, Departamento de Informática, Universidade do Minho, 2010.


  2. (PDF)
    Type-safe Evolution of Spreadsheets Jácome Cunha, Joost Visser,Tiago Alves,João Saraiva, Technical Report DI-CCTC-10-09, CCTC, Departamento de Informática, Universidade do Minho, 2010.


  3. (DOI) (PDF) (Talk)
    Automatically Inferring ClassSheet Models from Spreadsheets Jácome Cunha, Martin Erwig, João Saraiva, In proceedings of the 2010 IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC 2010), Madrid, Spain, IEEE Computer Society, pages 93-100, September 2010.


2009

  1. (DOI) (PDF) (Talk)
    Discovery-based Edit Assistance for Spreadsheets Jácome Cunha, Joost Visser,João Saraiva, In proceedings of 2009 IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC 2009), pages 233-237, 2009.


  2. (Talk)
    From spreadsheets to relational databases and back ACM DL Author-ize service
    Jácome Cunha, João Saraiva, Joost Visser
    PEPM '09 Proceedings of the 2009 ACM SIGPLAN Workshop on Partial Evaluation and Program Manipulation, 2009


2007

  1. (Talk)
    A type-level approach to component prototyping ACM DL Author-ize service
    Luís Barbosa, Jácome Cunha, Joost Visser
    SYANCO '07 International workshop on Synthesis and analysis of component connectors: in conjunction with the 6th ESEC/FSE joint meeting, 2007

(top)

Talks

  1. Talk at the 1st Workshop on Software Engineering methods in Spreadsheets: MDSheet - Model-Driven Spreadsheets (Slides in PDF)

  2. Talk at OSU - EECS Colloquium: Spreadsheet Engineering (Slides in PDF)

  3. Talk at the IEEE Symposium on Visual Languages and Human-Centric Computing: Extension and Implementation of ClassSheet Models (Slides in PDF)

  4. Talk at the Joint SSaaPP/FATBIT 2012 Workshop: Model-based Spreadsheet Engineering (Slides in PDF)

  5. Talk at QUATIC '12: A Quality Model for Spreadsheet (Paper)(Slides in PDF)

  6. Invited talk at SoTeSoLa '12: Model-based Spreadsheet Engineering (Slides in PDF) (Video)

  7. ICMT '12: Bidirectional Transformation of Model-Driven Spreadsheets (Paper)(Slides in PDF)

  8. SAC '12: From Relational ClassSheets to UML+OCL (Paper)(Slides in PDF)

  9. Dagstuhl on BX: Type-safe Evolution of Spreadsheets (Slides in PDF)

  10. VL/HCC '11: Embedding and Evolution of Spreadsheet Models in Spreadsheet Systems (Paper)(Slides in PDF)

  11. IS-EUD '11: End-users Productivity in Model-based Spreadsheets: An Empirical Study (Paper)(Slides in PDF)

  12. EuSpRIG '11: An Empirical Study on End-users Productivity Using Model-based Spreadsheets (Paper)(Slides in PDF)

  13. My PhD defense: Model-based Spreadsheet Engineering (PDF)
  14. FASE '11: Type-safe Evolution of Spreadsheets (PDF)
  15. VL/HCC '10: Automatically Inferring ClassSheet Models from Spreadsheets (PDF)
  16. VL/HCC '09: Discovery-based Edit Assistance for Spreadsheets (PDF)
  17. PEPM '09: From spreadsheets to relational databases and back (PDF)
  18. GRACE meeting on BXFrom Spreadsheets to Relational Databases and Back (PDF)
  19. SYANCO '07: A type-level approach to component prototyping (PDF)

(top)

Supervisions

All these students are/were from University of Minho, Portugal, and are/were co-oriented together with João Saraiva.

Co-supervision of the master students:

School year 11/12
  1. Jorge Mendes, Thesis title: Evolution of Model-Driven Spreadsheets (PDF). Jorge Mendes was supported by an FCT grant (renewed from a previews one, which I also co-oriented).
School year 10/11
  1. Christophe Peixoto, Thesis title: Testing Techniques to Assess Quality of Spreadsheets (PDF). Christophe Peixoto was supported by an FCT grant.
  2. Hugo Ribeiro, Thesis title: Metrics to Assess Quality of Spreadsheets (PDF). Hugo Ribeiro was supported by an FCT grant.
School year 09/10
  1. Hélder Macedo, Thesis title: Strategic-based Weaver for Aspect-Matlab. Hélder Macedo was supported by an FCT grant.

Co-supervision of grant holders:
  1. Jorge Mendes, BI grant for undergraduate students. Jun 2011 - Jun 2012, Project title: Embedding ClassSheet models in Spreadsheet Systems.
  2. Co-supervision of an undergraduate student Daniel Ribeiro in a BII grant. School year 09/10

Other supervisions:
  1. Co-supervision of students Filipe Pina and José Rodrigues in a course project. School year 08/09.

(top)

HaExcel

HaExcel picture.
HaExcel is a framework to manipulate, transform and query spreadsheets. It is implemented in Haskell and consists of the following parts:
  1. Library A generic/reusable library to map spreadsheets into relational database models and back: This library contains an algebraic data type to model a (generic) spreadsheet and functions to transform it into a relational model and vice versa. Such functions are implemented as refinement roles. The library includes two code generator functions: one that produces the SQL code to create and popolate the database, and a function that generates Excel/Gnumeric code to map the database back into a spreadsheet. A MySQL database can also be created and manipulated using this library under HaskellDB
  2. Front-ends A front-end to read spreadsheets in the Excel and Gnumeric formats: The front-end reads spreadsheets in the portable XML documents using the UMinho Haskell Libraries. We reuse the spatial logic algorithms from the UCheck project to discover the tables stored in the spreadsheet. The first row of each table is used as labels and the remaining elements are assumed to be data.
  3. Tools Two spreadsheet tools: A batch and a online tool t hat allow the users to read, transform, refactor and query spreadsheets.

(top)

OpenOffice HaExcel Extension

OpenOffice HaExcel Addon is a tool to help users to safely edit spreadsheets. It is implemented in Haskell (back end) and in OpenOffice Basic.

A first alpha version can be downloaded here.

To install it, just double click it and OpenOffice will open a dialog to help you installing it. Note that you need to have OpenOffice installed. This is a platform independent addon.

The back end is platform dependent. Its sources can be found here. Note that this is a Subversion repository. To download it you can type "svn co http://haskell.di.uminho.pt/websvn/HaExcel/ FOLDER_TO_STORE_IT". To construct it just type "make ghc". It has been tested in GHC 6.8.* and in GHC 6.10.*. A version to Mac OS X (Leopard) can be found here.

After compiling it, you need to put it in a place that the addon knows about. In this case this place is stored in the OpenOffice path variable "My Documents". To see its value go to the OpenOffice preferences, then to the OpenOffice.org tab, and then click in the Paths tab. There you can find the variable's value.

To know more about it, please see the publications bellow.


(top)

HaMealy

HaMealy ia a Haskell library modelling an algebra of components.

HaMealy: Version 0.0.1 (01/06/2007), tested with GHC 6.4.2.

The paper A Type-Level Approach to Component Prototyping has more details about this work.
(top)

Contacts

Name:Jácome Cunha
Email:jacome [at] fct.unl.pt
Phone/Fax:(+351) 212 948 300 / (+351) 212 948 541
AddressUniversidade Nova de Lisboa
Faculdade de Ciências e Tecnologia
Departamento de Informática
Quinta da Torre, 2829-516 Caparica
Portugal
OfficeP3/2, building II (DI)
FCT public keyJ042095115DO
Me on: [Academia.edu] [ACM] [DBLP] [Google Scholar] [LinkedIn] [Microsoft Academic] [ORCID] [repositoriUM] [ResearcherID (ISI)] [Scopus]
Public Key: Download