2015
Authors
Couto, M; Cunha, J; Fernandes, JP; Pereira, R; Saraiva, J;
Publication
2015 IEEE 13th International Scientific Conference on Informatics
Abstract
This paper presents GreenDroid, a tool for monitoring and analyzing power consumption for the Android ecosystem. This tool instruments the source code of a giving Android application and is able to estimate the power consumed when running it. Moreover, it uses advanced classification algorithms to detect abnormal power consumption and to relate them to fragments in the source code. A set of graphical results are produced that help software developers to identify abnormal power consumption in their source code.
2015
Authors
Cunha, J; Fernandes, JP; Mendes, J; Pereira, R; Saraiva, J;
Publication
CENTRAL EUROPEAN FUNCTIONAL PROGRAMMING SCHOOL, CEFP 2013
Abstract
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.
2015
Authors
Cunha, J; Fernandes, JP; Pereira, R; Saraiva, J;
Publication
CoRR
Abstract
2015
Authors
Cunha, J; Fernandes, JP; Mendes, J; Saraiva, J;
Publication
CENTRAL EUROPEAN FUNCTIONAL PROGRAMMING SCHOOL, CEFP 2013
Abstract
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), which are later 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 has to follow 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.
2015
Authors
Almeida, D; Campos, JC; Saraiva, J; Silva, JC;
Publication
30TH ANNUAL ACM SYMPOSIUM ON APPLIED COMPUTING, VOLS I AND II
Abstract
This paper presents a catalog of smells in the context of interactive applications. These so-called usability smells are indicators of poor design on an application's user interface, with the potential to hinder not only its usability but also its maintenance and evolution. To eliminate such usability smells we discuss a set of program/usability refactorings. In order to validate the presented usability smells catalog, and the associated refactorings, we present a preliminary empirical study with software developers in the context of a real open source hospital management application. Moreover, a tool that computes graphical user interface behavior models, giving the applications' source code, is used to automatically detect usability smells at the model level.
2015
Authors
Maia, P; Mendes, J; Cunha, J; Rebêlo, H; Saraiva, J;
Publication
SEMS@ICSE
Abstract
A spreadsheet usually starts as a simple and singleuser software artifact, but, as frequent as in other software systems, quickly evolves into a complex system developed by many actors. Often, different users work on different aspects of the same spreadsheet: while a secretary may be only involved in adding plain data to the spreadsheet, an accountant may define new business rules, while an engineer may need to adapt the spreadsheet content so it can be used by other software systems. Unfortunately, spreadsheet systems do not offer modular mechanisms, and as a consequence, some of the previous tasks may be defined by adding intrusive "code" to the spreadsheet. In this paper we go through the design and implementation of an aspect-oriented language for spreadsheets so that users can work on different aspects of a spreadsheet in a modular way. For example, aspects can be defined in order to introduce new business rules to an existing spreadsheet, or to manipulate the spreadsheet data to be ported to another system. Aspects are defined as aspect-oriented program specifications that are dynamically woven into the underlying spreadsheet by an aspect weaver. In this aspect-oriented style of spreadsheet development, different users develop, or reuse, aspects without adding intrusive code to the original spreadsheet. Such code is added/executed by the spreadsheet weaving mechanism proposed in this paper.
The access to the final selection minute is only available to applicants.
Please check the confirmation e-mail of your application to obtain the access code.