Publications

Export 41 results:
Sort by: Author [ Title  (Desc)] 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]
E
ES-SQL: Visually Querying Spreadsheets, Cunha, Jácome, Fernandes João Paulo, Mendes Jorge, Pereira Rui, and Saraiva João , Proceedings of the 2014 IEEE Symposium on Visual Languages and Human-Centric Computing, Washington, DC, USA, p.203–204, (2014) Abstractvlhcc14-td.pdf

This paper presents ES-SQL, an embedded tool for visually constructing queries over spreadsheets. This tool provides an expressive query environment which has knowledge on the business logic of spreadsheets, and by this knowledge it assists the user in defining the intended queries.

Energy Efficiency across Programming Languages: How Do Energy, Time, and Memory Relate?, Pereira, Rui, Couto Marco, Ribeiro Francisco, Rua Rui, Cunha Jácome, Fernandes João P., and Saraiva João , 10th ACM SIGPLAN International Conference on Software Language Engineering (SLE’17), 23-24 October, Vancouver, Canada, (2017) paper.pdf
End-users Productivity in Model-based Spreadsheets: An Empirical Study, Beckwith, Laura, Cunha Jácome, Fernandes João Paulo, and Saraiva João , Proceedings of the Third International Symposium on End-User Development, June, Heidelberg, p.282–288, (2011) Abstractiseud11.pdf

Spreadsheetsarewidelyusedandstudiesshowthatmostoftheexisting ones contain non-trivial errors. To improve end-users productivity, recent research proposes the use of a model-driven engineering approach to spreadsheets. In this paper we conduct the first empirical study to assess the effectiveness and efficiency of this approach. A set of spreadsheet end users worked with two different model-based spreadsheets. We present and analyze here the results achieved.

End Users Productivity in Model-based Spreadsheets: An Empirical Study, Beckwith, Laura, Cunha Jácome, Fernandes João Paulo, and Saraiva João , Number DI-CCTC-10-10, (2010) Abstracttr_study.pdf

Spreadsheets are widely used by end users, and studies have shown that most end-user spreadsheets contain non-trivial errors. To improve end users productivity, recent research proposes the use of a model-driven engineering approach to spreadsheets. In this paper we conduct the first systematic empirical study to assess the effectiveness and efficiency of this approach. A set of spreadsheet end users worked with two different model-based spreadsheets, and we present and analyze the results achieved.

An Empirical Study on End-users Productivity Using Model-based Spreadsheets, Beckwith, Laura, Cunha Jácome, Fernandes João Paulo, and Saraiva João , Proceedings of the European Spreadsheet Risks Interest Group, July, p.87–100, (2011) Abstracteusprig11.pdf

Spreadsheets are widely used, and studies have shown that most end-user spreadsheets contain non-trivial errors. To improve end-users productivity, recent research proposes the use of a model-driven engineering approach to spreadsheets. In this paper we conduct the first systematic empirical study to assess the effectiveness and efficiency of this approach. A set of spreadsheet end users worked with two different model-based spreadsheets, and we present and analyze here the results achieved.

Embedding, Evolution, and Validation of Spreadsheet Models in Spreadsheet Systems, Cunha, Jácome, Fernandes João P., Mendes Jorge, and Saraiva João , IEEE Transactions on Software Engineering, Volume 41, Issue 3, p.241-263, (2014) Abstracttse14.pdfWebsite

This paper proposes and validates a model-driven software engineering technique for spreadsheets. The technique that we envision builds on the embedding of spreadsheet models under a widely used spreadsheet system. This means that we enable the creation and evolution of spreadsheet models under a spreadsheet system. More precisely, we embed ClassSheets, a visual language with a syntax similar to the one offered by common spreadsheets, that was created with the aim of specifying spreadsheets. Our embedding allows models and their conforming instances to be developed under the same environment. In practice, this convenient environment enhances evolution steps at the model level while the corresponding instance is automatically co-evolved. Finally, we have designed and conducted an empirical study with human users in order to assess our technique in production environments. The results of this study are promising and suggest that productivity gains are realizable under our model-driven spreadsheet development setting.

Embedding, Evolution, and Validation of Spreadsheet Models in Spreadsheet Systems, Cunha, Jácome, Fernandes João P., Mendes Jorge, and Saraiva João , Number TR-HASLab:01:2014, (2014) Abstracttr_embedding.pdf

This paper proposes and validates a model-driven software engineering technique for spreadsheets. The technique that we envision builds on the embedding of spreadsheet models under a widely used spreadsheet system, so that models and their conforming instances are developed under the same environment. In practice, this convenient environment enhances evolution steps at the model level while the corresponding instance is automatically co-evolved. Finally, we have designed and conducted an empirical study with human users in order to assess our technique in production environments. The results of this study are promising and suggest that productivity gains are realizable under our model-driven spreadsheet development setting.

Embedding Model-Driven Spreadsheet Queries in Spreadsheet Systems, Cunha, Jácome, Fernandes João Paulo, Mendes Jorge, Pereira Rui, and Saraiva João , Proceedings of the 2014 IEEE Symposium on Visual Languages and Human-Centric Computing, Washington, DC, USA, p.151-154, (2014) Abstractvlhcc14.pdf

Spreadsheets are widely used not only to define mathematical expressions, but also to store large and complex data. To query such data is usually a difficult task to perform, usually for end user. In this work we embed the textual query language in the model-driven spreadsheet environment as a spreadsheet itself. The result is an expressive and powerful query environment that has knowledge of the business logic defined by the spreadsheet data (the spreadsheet model) to guide end users constructing correct queries.

Embedding and Evolution of Spreadsheet Models in Spreadsheet Systems, Cunha, Jácome, Fernandes João Paulo, Mendes Jorge, and Saraiva João , Proceedings of the 2011 IEEE Symposium on Visual Languages and Human-Centric Computing, Washington, DC, USA, p.186–201, (2011) Abstractvlhcc11.pdf

This paper describes the embedding of ClassSheet models in spreadsheet systems. ClassSheet models are well-known and describe the business logic of spreadsheet data. We embed this domain specific model representation on the (general purpose) spreadsheet system it models. By defining such an embedding, we provide end users a model-driven engineering spreadsheet developing environment. End users can interact with both the model and the spreadsheet data in the same environment. Moreover, we use advanced techniques to evolve spreadsheets and models and to have them synchronized. In this paper we present our work on extending a widely used spreadsheet system with such a model-driven spreadsheet engineering environment.

D
Detecting Anomalous Energy Consumption in Android Applications, Carção, Tiago, Couto Marco, Cunha Jácome, Fernandes João Paulo, and Saraiva João , Proceedings of the 18th Brazilian Symposium on Programming Languages, p.77-91, (2014) Abstractsblp14.pdf

The use of powerful mobile devices, like smartphones, tablets and laptops, are changing the way programmers develop software. While in the past the primary goal to optimize software was the run time optimization, nowadays there is a growing awareness of the need to reduce energy consumption. This paper presents a technique and a tool to detect anomalous energy consumption in Android applications, and to relate it directly with the source code of the application. We propose a dynamically calibrated model for energy consumption for the Android ecosystem, and that supports different devices. The model is then used as an API to monitor the application execution: first, we instrument the application source code so that we can relate energy consumption to the application source code; second, we use a statistical approach, based on fault-localization techniques, to localize abnormal energy consumption in the source code.

Design and Implementation of Queries for Model-Driven Spreadsheets, Cunha, Jácome, Fernandes João Paulo, Mendes Jorge, Pereira Rui, and Saraiva João , Central European Functional Programming School - 5th Summer School, CEFP 2013, Revised Selected Papers, July, Heidelberg, (2014) Abstractdsl13_query.pdf

This paper presents a domain-specific querying language for model-driven spreadsheets. We briefly show the design of the language and present in detail its implementation, from the denormalization of data and translation of our user-friendly query language to a more efficient query, to the execution of the query using Google. To validate our work, we executed an empirical study, comparing QuerySheet with an alternative spreadsheet querying tool, which produced positive results.

C
Complexity Metrics for Spreadsheet Models, Cunha, Jácome, Fernandes João Paulo, Mendes Jorge, and Saraiva João , The 13th International Conference on Computational Science and Its Applications, Volume 7972, p.459–474, (2013) Abstracticcsa-sq13.pdf

This paper proposes a set of metrics for the assessment of the complexity of models defining the business logic of spreadsheets. This set can be considered the first step in the direction of building a quality standard for spreadsheet models, that is still to be defined. The computation of concrete metric values has further been integrated under a well-established model-driven spreadsheet development environment, providing a framework for the analysis of spreadsheet models under spreadsheets themselves.

Combining Smells and Fault Localization in Spreadsheets (in preparation), Abreu, Rui, Cunha Jácome, Fernandes João P., Martins Pedro, Perez Alexandre, and Saraiva João , (Submitted) paper.pdf
B
Bidirectional Transformation of Model-Driven Spreadsheets, Cunha, Jácome, Fernandes João P., Mendes Jorge, Pacheco Hugo, and Saraiva João , Theory and Practice of Model Transformations, Volume 7307, p.105–120, (2012) Abstracticmt12.pdf

Spreadsheets play an important role in software organizations. Indeed, in large software organizations, spreadsheets are not only used to define sheets containing data and formulas, but also to collect information from different systems, to adapt data coming from one system to the format required by another, to perform operations to enrich or simplify data, etc. In fact, over time many spreadsheets turn out to be used for storing and processing increasing amounts of data and supporting increasing numbers of users. Unfortunately, spreadsheet systems provide poor support for modularity, abstraction, and transformation, thus, making the maintenance, update and evolution of spreadsheets a very complex and error-prone task. We present techniques for model-driven spreadsheet engineering where we employ bidirectional transformations to maintain spreadsheet models and instances synchronized. In our setting, the business logic of spreadsheets is defined by ClassSheet models to which the spreadsheet data conforms, and spreadsheet users may evolve both the model and the data instances. Our techniques are implemented as part of the MDSheet framework: an extension for a traditional spreadsheet system.

A Bidirectional Model-driven Spreadsheet Environment (Poster/Abstract), Cunha, Jácome, Fernandes João Paulo, Mendes Jorge, and Saraiva João , Proceedings of the 34rd International Conference on Software Engineering, p.1443–1444, (2012) Abstractabstract.pdfposter.pdf

n this extended abstract we present a bidirectional model-driven framework to develop spreadsheets. By being model driven, our approach allows to evolve a spreadsheet model and automatically have the data co-evolved. The bidirectional component achieves precisely the inverse, that is, to evolve the data and automatically obtain a new model to which the data conforms.

A
Analyzing and Classifying Energy Consumption in Android Applications (in preparation), Couto, Marco, Cunha Jácome, Fernandes João P., Pereira Rui, and Saraiva João , (Submitted) paper.pdf