Recent Publications

Masci P, Ayoub A, Curzon P, Lee I, Sokolsky O, Thimbleby H.  2013.  Model-Based Development of the Generic PCA Infusion Pump User Interface Prototype in PVS. Computer Safety, Reliability, and Security. 8153:228-240. Abstractgpcaui-safecomp2013.pdf

A realistic user interface is rigorously developed for the US Food and Drug Administration (FDA) Generic Patient Controlled Analgesia (GPCA) pump prototype. The GPCA pump prototype is intended as a realistic workbench for trialling development methods and techniques for improving the safety of such devices. A model-based approach based on the use of formal methods is illustrated and implemented within the Prototype Verification System (PVS) verification system. The user interface behaviour is formally specified as an executable PVS model. The specification is verified with the PVS theorem prover against relevant safety requirements provided by the FDA for the GPCA pump. The same specification is automatically translated into executable code through the PVS code generator, and hence a high fidelity prototype is then developed that incorporates the generated executable code.

Fernandes S, Boender J.  2013.  Small world characteristics of FLOSS distributions. 7th International Workshop on Foundations and Techniques for Open Source Software Certification (OpenCert2013). Abstract

Over the years, Free/Libre Open Source Software (FLOSS) distributions have become more and more complex and recent versions contain tens of thousands of packages. This has made it impossible to do quality control by hand. Instead, distribution editors must look to automated methods to ensure the quality of their distributions. In the present paper, we present some insights into the general struc- ture of FLOSS distributions. We notably show that such distributions have the characteristics of a small world network: there are only a few important packages, and many less important packages. Identifying the important packages can help editors focus their e orts on parts of the distribution where errors will have important consequences.

Costa CM, Sousa AL.  2013.  Adaptive Query Processing in Cloud Database Systems. 2013 International Conference on Cloud and Green Computing, Karlsruhe, Germany, September 30 - October 2, 2013. :201–202. Abstract
n/a
Silva JMC, Carvalho P, Lima SR.  2013.  Enhancing traffic sampling scope and efficiency. 2013 Proceedings IEEE INFOCOM. :5-6. Abstract
n/a
Cunha J, Saraiva JA, Visser J.  2012.  Model-Based Programming Environments for Spreadsheets. Brazilian Symposium on Programming Languages - SBLP. 7554:117–133. Abstractsblp12.pdf

Although spreadsheets can be seen as a flexible programming environment, they lack some of the concepts of regular programming languages, such as structured data types. This can lead the user to edit the spreadsheet in a wrong way and perhaps cause corrupt or redundant data. We devised a method for extraction of a relational model from a spreadsheet and the subsequent embedding of the model back into the spreadsheet to create a model-based spreadsheet programming environment. The extraction algorithm is specific for spreadsheets since it considers particularities such as layout and column arrangement. The extracted model is used to generate formulas and visual elements that are then embedded in the spreadsheet helping the user to edit data in a correct way. We present preliminary experimental results from applying our approach to a sample of spreadsheets from the EUSES Spreadsheet Corpus.

Cunha J, Fernandes JP, Mendes J, Saraiva JA.  2012.  Extension and Implementation of ClassSheet Models. Proceedings of the Symposium on Visual Languages and Human-Centric Computing - VL/HCC. :19–22. Abstractvlhcc12.pdf

In this paper we explore the use of models in the context of spreadsheet engineering. We review a successful spreadsheet modeling language, whose semantics we further extend. With this extension we bring spreadsheet models closer to the business models of spreadsheets themselves. An addon for a widely used spreadsheet system, providing bidirectional model-driven spreadsheet development, was also improved to include the proposed model extension.

Cunha J, Fernandes JP, Mendes J, Pacheco H, Saraiva JA.  2012.  Bidirectional Transformation of Model-Driven Spreadsheets. Theory and Practice of Model Transformations - ICMT. 7307:105–120. Abstracticmt12.pdf

Spreadsheets play an important role in software organizations. Indeed, in large software organizations, spreadsheets are not only used to de ne sheets containing data and formulas, but also to collect information from di erent 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 de ned 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.

Cunha J, Fernandes JP, Peixoto C, Saraiva JA.  2012.  A Quality Model for Spreadsheets. Proceedings of the 8th International Conference on the Quality of Information and Communications Technology, Quality in ICT Evolution Track - QUATIC. :231–236. Abstractquatic12.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.

Cunha J, Fernandes JP, Mendes J, Saraiva JA.  2012.  Towards an Evaluation of Bidirectional Model-driven Spreadsheets. User evaluation for Software Engineering Researchers - USER. :25–28. 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 endusers, 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.

Cunha J, Fernandes JP, Mendes J, Saraiva JA.  2012.  A Bidirectional Model-driven Spreadsheet Environment. Proceedings of the 34rd International Conference on Software Engineering - ICSE. :1443–1444. Abstracticse_abstract_poster12.pdf

In 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.

Cunha J, Fernandes JP, Mendes J, Saraiva JA.  2012.  Towards a Catalog of Spreadsheet Smells. The 12th International Conference on Computational Science and Its Applications - ICCSA. 7336:202–216. Abstracticcsa12.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 re nement of our initial catalog.

Cunha J, Fernandes JP, Mendes J, Saraiva JA.  2012.  MDSheet: A Framework for Model-driven Spreadsheet Engineering. Proceedings of the 34rd International Conference on Software Engineering - ICSE. :1412–1415. Abstracticse12.pdf

In 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.

Cunha J, Fernandes JP, Mendes J, Martins P, Saraiva JA.  2012.  SmellSheet Detective: A Tool for Detecting Bad Smells in Spreadsheets. Proceedings of the Symposium on Visual Languages and Human-Centric Computing - VL/HCC. :243–244. Abstractvlhcc-td12.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.

Cunha J, Fernandes JP, Saraiva JA.  2012.  From Relational ClassSheets to UML+OCL. Proceedings of the Software Engineering Track at the 27th Annual Symposium On Applied Computing - SAC. :1151–1158. Abstractsac-se12.pdf

Spreadsheets are among the most popular programming languages in the world. Unfortunately, spreadsheet systems were not tailored from scratch with modern programming language features that guarantee, as much as possible, program correctness. As a consequence, spreadsheets are populated with unacceptable amounts of errors. In other programming language settings, model-based approaches have been proposed to increase productivity and program e ectiveness. Within spreadsheets, this approach has also been followed, namely by ClassSheets. In this paper, we propose an extension to ClassSheets to allow the speci cation of spreadsheets that can be viewed as relational databases. Moreover, we present a transformation from ClassSheet models to UML class diagrams enriched with OCL constraints. This brings to the spreadsheet realm the entire paraphernalia of model validation techniques that are available for UML.

Moreno CB, Almeida PS, Borges M, Jesus P.  2012.  Spectra: Robust estimation of distribution functions in networks. Distributed Applications and Interoperable Systems. 7272:96–103. Abstract1204.1373.pdf

The distributed aggregation of simple aggregates such as minima/maxima, counts, sums and averages have been studied in the past and are important tools for distributed algorithms and network co- ordination. Nonetheless, this kind of aggregates may not be comprehen- sive enough to characterize biased data distributions or when in presence of outliers, making the case for richer estimates.
This work presents Spectra, a distributed algorithm for the estimation of distribution functions over large scale networks. The estimate is available at all nodes and the technique depicts important properties: robustness when exposed to high levels of message loss, fast convergence speed and fine precision in the estimate. It can also dynamically cope with changes of the sampled local property and with churn, without requiring restarts. The proposed approach is experimentally evaluated and contrasted to a competing state of the art distribution aggregation technique.