Publications

Export 41 results:
Sort by: Author [ Title  (Asc)] Type Year
A B C D E [F] G H I J K L M N O P Q R S T U V W X Y Z   [Show ALL]
M
MDSheet – Model-Driven Spreadsheets, Cunha, Jácome, Fernandes João Paulo, Mendes Jorge, Pereira Rui, and Saraiva João , Proceedings of the 1st Workshop on Software Engineering methods in Spreadsheets, Volume 1209, p.31–33, (2014) Abstractsems14-td.pdf

This paper showcases MDSheet, a framework aimed at improving the engineering of spreadsheets. This framework is model-driven, and has been fully integrated under a spreadsheet system. Also, its practical interest has been demonstrated by several empirical studies.

MDSheet: A Framework for Model-driven Spreadsheet Engineering, Cunha, Jácome, Fernandes João Paulo, Mendes Jorge, and Saraiva João , Proceedings of the 34rd International Conference on Software Engineering, p.1395–1398, (2012) Abstracticse12_tooldemo.pdf

n this paper, we present MDSHEET, a framework for the embedding, evolution and inference of spreadsheet models. This framework offers a model-driven software development mechanism for spreadsheet users.

P
Products go Green: Worst-Case Energy Consumption in Software Product Lines, Couto, Marco, Borba Paulo, Cunha Jácome, Fernandes João P., Pereira Rui, and Saraiva João , 21st International Systems and Software Product Line Conference, Sept 25-29, Sevilla, Spain, (2017) paper.pdf
Q
A Quality Model for Spreadsheets, Cunha, Jácome, Fernandes João Paulo, Peixoto Christophe, and Saraiva João , Proceedings of the 8th International Conference on the Quality of Information and Communications Technology, Quality in ICT Evolution Track, p.231–236, (2012) Abstractquatic2012.pdf

In this paper we present a quality model for spreadsheets, based on the ISO/IEC 9126 standard that defines a generic quality model for software. To each of the software characteristics defined in the ISO/IEC 9126, we associate an equivalent spreadsheet characteristic. Then, we propose a set of spreadsheet specific metrics to assess the quality of a spreadsheet in each of the defined characteristics. In order to obtain the normal distribution of expected values for a spreadsheet in each of the metrics that we propose, we have executed them against all spreadsheets in the large and widely used EUSES spreadsheet corpus. Then, we quantify each characteristic of our quality model after computing the values of our metrics, and we define quality scores for the different ranges of values. Finally, to automate the atribution of a quality score to a given spreadsheet, according to our quality model, we have integrated the computation of the metrics it includes in both a batch and a web-based tool.

Querying Model-Driven Spreadsheets, Cunha, Jácome, Fernandes João Paulo, Mendes Jorge, Pereira Rui, and Saraiva João , Proceedings of the 2013 IEEE Symposium on Visual Languages and Human-Centric Computing, Washington, DC, USA, p.83–86, (2013) Abstractvlhcc2013-query.pdf

Spreadsheets are being used with many different purposes that range from toy applications to complete information systems. In any of these cases, they are often used as data repositories that can grow significantly. As the amount of data grows, it also becomes more difficult to extract concrete information out of them. This paper focuses on the problem of spreadsheet querying. In particular, we propose an expressive and composable technique where intuitive queries can be defined. Our approach builds on a model-driven spreadsheet development environment, and queries are expressed referencing entities in the model of a spreadsheet instead of in its actual data. Finally, the system that we have implemented relies on Google's query function for spreadsheets.

QuerySheet: A Bidirectional Query Environment for Model-Driven Spreadsheets, Belo, Orlando, Cunha Jácome, Fernandes João Paulo, Mendes Jorge, Pereira Rui, and Saraiva João , Proceedings of the 2013 IEEE Symposium on Visual Languages and Human-Centric Computing, Washington, DC, USA, p.199–200, (2013) Abstractvlhcc2013-td.pdf

This paper presents a tool, named QUERYSHEET, to query spreadsheets. We defined a language to write the queries, which resembles SQL, the language to query databases. This allows to write queries which are more related to the spreadsheet content than with current approaches.

R
Refactoring meets Model-Driven Spreadsheet Evolution, Cunha, Jácome, Fernandes João Paulo, Martins Pedro, Pereira Rui, and Saraiva João , Proceedings of the 9th International Conference on the Quality of Information and Communications Technology, Quality in Model Driven Engineering Track, p.196–201, (2014) Abstractquatic14.pdf

Software refactoring is a well-known technique that provides transformations on software artifacts with the aim of improving their overall quality. In this paper we present a set of refactorings for ClassSheets, a modeling language that allows to specify the business logic of a spreadsheet in an object-oriented fashion. The set of refactorings that we propose allows us to improve the quality of these spreadsheet models. Moreover, it is implemented in a setting that guarantees that all model refactorings are automatically carried to all the corresponding (spreadsheet) instances, thus providing an automatic evolution of the data so it is always synchronized with the model.

S
Smelling Faults in Spreadsheets, Abreu, Rui, Cunha Jácome, Fernandes João Paulo, Martins Pedro, Perez Alexandre, and Saraiva João , Proceedings of the 30th IEEE International Conference on Software Maintenance and Evolution, Washington, DC, USA, p.111–120, (2014) Abstracticsme14.pdf

Despite being staggeringly error prone, spreadsheets are a highly flexible programming environment that is widely used in industry. In fact, spreadsheets are widely adopted for decision making, and decisions taken upon wrong (spreadsheet-based) assumptions may have serious economical impacts on businesses, among other consequences. This paper proposes a technique to automatically pinpoint potential faults in spreadsheets. It combines a catalog of spreadsheet smells that provide a first indication of a potential fault, with a generic spectrum-based fault localization strategy in order to improve (in terms of accuracy and false positive rate) on these initial results. Our technique has been implemented in a tool which helps users detecting faults. To validate the proposed technique, we consider a well-known and well-documented catalog of faulty spreadsheets. Our experiments yield two main results: we were able to distinguish between smells that can point to faulty cells from smells and those that are not capable of doing so; and we provide a technique capable of detecting a significant number of errors: two thirds of the cells labeled as faulty are in fact (documented) errors.

SmellSheet Detective: A Tool for Detecting Bad Smells in Spreadsheets, Cunha, Jácome, Fernandes João Paulo, Mendes Jorge, Martins Pedro, and Saraiva João , Proceedings of the 2012 IEEE Symposium on Visual Languages and Human-Centric Computing, Washington, DC, USA, p.243–244, (2012) Abstractvlhcc12-td.pdf

This tool demo paper presents SmellSheet Detective: a tool for automatically detecting bad smells in spreadsheets. We have defined a catalog of bad smells in spreadsheet data which was fully implemented in a reusable library for the manipulation of spreadsheets. This library is the building block of the SmellSheet Detective tool, that has been used to detect smells in large, real-world spreadsheet within the EUSES corpus, in order to validate and evolve our bad smells catalog.

Spreadsheet Engineering, Cunha, Jácome, Fernandes João Paulo, and Saraiva João , Central European Functional Programming School - 5th Summer School, CEFP 2013, Revised Selected Papers, July, Springer, Heidelberg, (2014) Abstractdsl13_notes.pdf

These tutorial notes present a methodology for spreadsheet engineering. First, we present data mining and database techniques to reason about spreadsheet data. These techniques are used to compute relationships between spreadsheet elements (cells/columns/rows). These relations are then used to infer a model defining the business logic of the spreadsheet. Such a model of a spreadsheet data is a visual domain specific language that we embed in a well-known spreadsheet system. The embedded model is the building block to define techniques for model-driven spreadsheet development, where advanced techniques are used to guarantee the model-instance synchronization. In this model-driven environment, any user data update as to follow the the model-instance conformance relation, thus, guiding spreadsheet users to introduce correct data. Data refinement techniques are used to synchronize models and instances after users update/evolve the model. These notes briefly describe our model-driven spreadsheet environment, the MDSheet environment, that implements the presented methodology. To evaluate both proposed techniques and the MDSheet tool, we have conducted, in laboratory sessions, an empirical study with the summer school participants. The results of this study are presented in these notes.

SSaaPP: SpreadSheets as a Programming Paradigm – Project's Final Report, Abreu, Rui, Alves Tiago, Belo Orlando, Campos José C., Cunha Jácome, Fernandes João Paulo, Martins Pedro, Mendes Jorge, Pacheco Hugo, Peixoto Christophe, Pereira Rui, Perez Alexandre, Ribeiro Hugo, Riboira André, Saraiva João, Silva André, Silva João Carlos, and Visser Joost , Number TR-HASLab:02:2014, (2014) Abstracttr_ssaapp.pdf

This technical report describes the research goals and results of the SpreadSheet as a Programming Paradigm research project. This was a project funded by Funda{\c c}ão para a Ciencia e Tecnologia – FCT: the Portuguese research foundation, under reference FCOMP-01-0124-FEDER-010048, that ran from May 2010 till July 2013. This report includes the complete document reporting the results achieved during the project execution, which was submitted to FCT for evaluation on October 2013. It describes the goals of the project, and the different research tasks presenting the deliver- ables of each of them. It also presents the management and result dissemination work performed during the project's execution. The document includes also a self assess- ment of the achieved results, and a complete list of scientific publications describing the contributions of the project. Finally, this document includes the FCT evaluation report.

Static Energy Consumption Analysis in Variability Systems, Couto, Marco, Cunha Jácome, Fernandes João Paulo, Pereira Rui, and Saraiva João Alexandre , 2nd Green in Software Engineering Workshop (GInSEng’16), an event of the 4th International Conference on ICT for Sustainability (ICT4S), 29 Aug. - 1 Sep., Amsterdam, The Netherlands, (2016) Abstractginseng_2016_paper_1-2.pdf

Energy consumption is becoming an evident concern to software developers. This is even more notorious due to the propagation of mobile devices. Such propagation of devices is also influencing software development: a software system is now developed has a set of similar products sharing common features.
In this short paper, we describe our methodology aim at static and accurately predict the energy consumption of software products in such variability systems, typically called software product lines.

T
Towards a Catalog of Spreadsheet Smells, Cunha, Jácome, Fernandes João P., Ribeiro Hugo, and Saraiva João , Proceedings of the 12th International Conference on Computational Science and Its Applications - Volume Part IV, Berlin, Heidelberg, p.202–216, (2012) Abstracticcsa-sq12.pdf

Spreadsheets are considered to be the most widely used programming language in the world, and reports have shown that 90% of real-world spreadsheets contain errors. In this work, we try to identify spreadsheet smells, a concept adapted from software, which consists of a surface indication that usually corresponds to a deeper problem. Our smells have been integrated in a tool, and were computed for a large spreadsheet repository. Finally, the analysis of the results we obtained led to the refinement of our initial catalog.

Towards an Evaluation of Bidirectional Model-driven Spreadsheets, Cunha, Jácome, Fernandes João Paulo, Mendes Jorge, and Saraiva João , User evaluation for Software Engineering Researchers, p.25–28, (2012) Abstractuser12.pdf

Spreadsheets are widely recognized as popular programming systems with a huge number of spreadsheets being created every day. Also, spreadsheets are often used in the decision processes of profit-oriented companies. While this illustrates their practical importance, studies have shown that up to 90% of real-world spreadsheets contain errors. In order to improve the productivity of spreadsheet end-users, the software engineering community has proposed to employ model-driven approaches to spreadsheet development. In this paper we describe the evaluation of a bidirectional model-driven spreadsheet environment. In this environment, models and data instances are kept in conformity, even after an update on any of these artifacts. We describe the issues of an empirical study we plan to conduct, based on our previous experience with end-user studies. Our goal is to assess if this model-driven spreadsheet development framework does in fact contribute to improve the productivity of spreadsheet users.

U
User-Friendly Spreadsheet Querying: An Empirical Study, Pereira, Rui, Saraiva João, Cunha Jácome, and Fernandes João P. , 31st Annual ACM Symposium on Applied Computing (SAC'16), Smart Human Computer Interaction Track, Poster Paper, Pisa, Italy, (2016) sac-hci16.pdf
W
Watch out for that tree! A Tutorial on Shortcut Deforestation, Fernandes, João P., Cunha Jácome, Pardo Alberto, and Saraiva João , 2015 Central European Functional Programming School, Revised Selected Papers, (2016) cefp15.pdf