Recent Publications

Lourenço CB, Frade MJ, Pinto JS.  2014.  A Bounded Model Checker for SPARK Programs. Proceedings of the 12th International Symposium on Automated Technology for Verification and Analysis. Abstracttool-paper-atva2014.pdf

This paper discusses the design and implementation of a bounded model checker for SPARK code, and provides a proof of concept of the utility and practicality of bounded verification for SPARK.

Couto R, Ribeiro AN, Campos JC.  2014.  The Modelery: A Collaborative Web Based Repository. 14th International Conference on Computational Science and Its Applications (ICCSA 2014). 8584 Abstracticcsa_2014.pdf

Software development processes are known to produce a large set of artifacts such as models, code and documentation. Keeping track of these artifacts without supporting tools is not easy, and making them available to others can be even harder. Standard version control systems are not able to solve this issue. More than keeping track of versions, a system to help organize and make artifacts available in meaningful ways is needed. In this paper we review a number of alternative systems, and present the requirements and the implementation of a collaborative web repository which we developed to solve this issue.

Couto R, Ribeiro AN, Campos JC.  2014.  A study on the viability of formalizing Use Cases. 9th International Conference on the Quality of Information and Communications Technology (QUATIC). Abstract6133a130.pdf

Use case scenarios are known as powerful meansfor requirements specification. On th e one hand, they join in the same modeling space the expectations of the stakeholders and the needs of the developers involved in the process. On the other hand, they describe the desired high level functionalities. By formalizing these descriptions we are able to extract relevant informations from them. Specifically, we are interested in identifying requirements patterns (common requirements with typical implementation solutions) in support for a requirements based software development approach. This paper addresses the transformation of use case descriptions expressed in a Controller Natural Language into an ontology expressed in the Web Ontology Language (OWL), as well as the query process for such information. It reports on a study aimed at validating our approach and our tool with real users. A preliminary set of results is discussed.

Silva CE, Campos JC.  2014.  Characterizing the Control Logic of Web Applications' User Interfaces. In Computational Science and Its Applications - ICCSA 2014. 8584:263–276. Abstracticcsa_final.pdf

On order to develop an hybrid approach to the Reverse Engineer of Web applications, we need rst to understand how much of the control logic of the user interface can be obtained from the analysis of event listeners. To that end, we have developed a tool that enables us to perform such analysis, and applied it to the implementation of the one thousand most widely used Websites (according to Alexa Top Sites). This paper describes our approach for analyzing the user interface layer of those Websites, and the results we got from the analysis. The conclusions drawn from the exercise will be used to guide the development of the proposed hybrid reverse engineering tool.

Cunha J, Martins P, Fernandes JP, Pereira R, Saraiva JA.  2014.  Refactoring meets Model-Driven Spreadsheet Evolution. Proceedings of the 9th International Conference on Quality in Model Driven Engineering - QUATIC. 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.

Martins P, Pereira R.  2014.  Refactoring Smelly Spreadsheet Models. Proceedings of the 14th International Conference on Computational Science and Its Applications - ICCSA. Abstracticcsa14_refactorings.pdf

Identifying bad design patterns in software is a successful and inspiring research trend. While these patterns do not necessarily correspond to software errors, the fact is that they raise potential problematic issues, often referred to as code smells, and that can for example compromise maintainability or evolution. The identi cation of code smells in spreadsheets, which can be viewed as software development environments for non-professional programmers, has already been the subject of con uent researches by di erent groups. While these research groups have focused on detecting smells on concrete spreadsheets, or spreadsheet instances, in this paper we propose a comprehensive set of smells for abstract representations of spreadsheets, or spreadsheet models. We also propose a set of refactorings suggesting how spreadsheet models can become simpler to understand, manipulate and evolve. Finally we present the integration of both smells and refactorings under the MDSheet framework.

Martins P, Fernandes JP, Saraiva JA.  2014.  A Web Portal for the Certification of Open Source Software. Proceedings of the 6th International Workshop on Foundations and Techniques for Open Source Software Certification - OPENCERT. Abstractopencert12.pdf

This paper presents a web portal for the certi cation of open source software. The portal aims at helping programmers in the internet age, when there are (too) many open source reusable libraries and tools available. Our portal o ers programmers a web-based and easy setting to analyze and certify open source software, which is a crucial step to help programmers choosing among many available alternatives, and to get some guarantees before using one piece of software. The paper presents our rst prototype of such web portal. It also describes in detail a domain speci c language that allows programmers to describe with a high degree of abstraction speci c open source software certi cations. The design and implementation of this language is the core of the web portal.

Martins P, Saraiva JA, Fernandes JP, Wyk EV.  2014.  Generating Attribute Grammar-based Bidirectional Transformations from Rewrite Rules. Proceedings of the ACM SIGPLAN 2014 Workshop on Partial Evaluation and Program Manipulation - PEPM. Abstractpepm2014.pdf

Higher order attribute grammars provide a convenient means for specifying uni-directional transformations, but they provide no direct support for bidirectional transformations. In this paper we show how rewrite rules (with non-linear right hand sides) that specify a forward/get transformation can be inverted to specify a partial backward/put transformation. These inverted rewrite rules can then be extended with additional rules based on characteristics of the source language grammar and forward transformations to create, under certain circumstances, a total backward transformation. Finally, these rules are used to generate attribute grammar specifications implementing both transformations.

Martins P, Carção T.  2014.  A Visual {DSL} for the Certification of Open Source Software. Proceedings of the 14th International Conference on Computational Science and Its Applications - ICCSA. Abstracticcsa14_dsl.pdf

Quality assessment of open source software is becoming an important and active research area. One of the reasons for this recent interest is the consequence of Internet popularity. Nowadays, programming also involves looking for the large set of open source libraries and tools that may be reused when developing our software applications. In order to reuse such open source software artifacts, programmers not only need the guarantee that the reused artifact is certi ed, but also that independently developed artifacts can be easily combined into a coherent piece of software. In this paper we improve over previous works and describe a visual language that allows programmers to graphically describe how software artifacts can be combined into powerful software certi cation processes. This paper introduces the visual language and describes how its elements are available to the user through an intuitive interface.

Madeira A, Neves R, Barbosa LS, Martins M.  2014.  A Dynamic Logic for Every season. Proceedings of 17th Brazilian Symposium, SBMF. :16. Abstractsbmf14_0.pdf

This paper introduces a method to build dynamic logics with a graded semantics. The construction is parametrized by a structure to support both the spaces of truth and of the domain of computations. Possible instantiations of the method range from classical assertional) dynamic logic to less common graded logics suitable to deal with programs whose transitional semantics exhibits fuzzy or weighted behaviour.This leads to the systematic derivation of program logics tailored to speci c program classes.

Madeira A, Barbosa LS, Neves R, Martins M.  2014.  Introducing Hierarquical Hybrid Logic. Proceedings of AiML - 10th International Conference On Advances In Modal Logic. Abstractaiml.pdf

This paper introduces HHL, a hierarchical variant of hybrid logic. First-order correspondence and a Hennessy-Milner like theorem relating (hierarchical) bisimulation and logical equivalence for HHL are presented. Combining hierarchical transition structures with the ability to refer to speci c states at any level of description, this logic seems suitable to express and verify properties of hierarchical transition systems, a pervasive semantic structure in Computer Science.

Madeira A, Neves R, Barbosa LS, Martins M.  2014.  Logics for robotics? AIP Conference Proceedings. Abstractmadeiranevesmartinsbarbosa.pdf

This paper introduces HHL, a hierarchical variant of hybrid logic. First-order correspondence and a Hennessy-Milner like theorem relating (hierarchical) bisimulation and logical equivalence for HHLare presented. Combining hierarchical transition structures with the ability to refer to speci c states at any level of description, this logic seems suitable to express and verify properties of hierarchical transition systems, a pervasive semantic structure in Computer Science.

Cunha J, Abreu R, Fernandes JP, Martins P, Saraiva JA, Perez A.  2014.  FaultySheet Detective: When Smells Meet Fault Localization. Proceedings of the 30th IEEE International Conference on Software Maintenance and Evolution. Abstracticsme14-td.pdf

This paper presents a tool, dubbed FaultySheet Detective, for aiding in spreadsheet fault localization, which combines the detection of bad smells with a generic spectrum-based fault localization algorithm.

Campos JC, Silva JL, Abade T, Gomes T.  2014.  Design and Evaluation of a Smart Library using the APEX Framework. Distributed, Ambient, and Pervasive Interactions. 8530 Abstract2014-hcii-dapi.pdf

User experience is a key point for successful ubiquitous computing (ubicomp) environments. The envisaged design should be explored as soon as possible to anticipate potential user problems, thus reducing re-design costs. The development of ubicomp environments’ prototypes might help, providing feedback on the users’ reaction to the environments. This paper describes the design and evaluation of ubicomp environments using APEX, a rapid prototyping framework providing user experience via a 3D application server and connected physical devices. APEX prototypes allow users to explore and experience many characteristics of a proposed design, in a virtual world. The paper focus in particular the design and evaluation of a smart library in the APEX framework.

Campos JC, AI S.  2014.  Towards a Framework for Adaptive Web Applications. HCI International 2014 - Posters' Extended Abstracts. 434 Abstract2014-hcii-as.pdf

We have developed a framework to support adaptive elements in Web pages. In particular we focus on adaptive menus. Developers are able to define rules for menu adaptation according to the features of the device and browser in use. This paper briefly describes the selected adaptation patterns and their implementation.