2012
Autores
Lopes Margarido, I; Pascoal Faria, J; Moreira Vidal, R; Vieira, M;
Publicação
Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)
Abstract
CMMI practices can be poorly implemented leading to weak performance gain. SCAMPI verifies model compliance but not performance. Hence, a framework to evaluate the quality of implementation of each practice, based on compliance and performance results, will prevent poor implementation, locate and fix problems, and ultimately achieve better results. In this paper we propose such a framework, based on a combination of leading and lagging indicators measuring compliance, efficiency and efficacy. © 2012 Springer-Verlag.
2012
Autores
Rebello De Andrade, F; Faria, JP; Lopes, A; Paiva, ACR;
Publicação
Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)
Abstract
Several approaches exist to automatically derive test cases that check the conformance of the implementation of abstract data types (ADTs) with respect to their specification. However, they lack support for the testing of implementations of ADTs defined by generic classes. In this paper, we present a novel technique to automatically derive, from specifications, unit test cases for Java generic classes that, in addition to the usual testing data, encompass implementations for the type parameters. The proposed technique relies on the use of Alloy Analyzer to find model instances for each test goal. JUnit test cases and Java implementations of the parameters are extracted from these model instances. © 2012 Springer-Verlag.
2012
Autores
Faria, JP; Silva, ARd; Machado, RJ;
Publicação
QUATIC
Abstract
2012
Autores
Sanchez, A; Aguiar, A; Barbosa, LS; Riesco, D;
Publicação
PROCEEDINGS OF THE 2012 IEEE 35TH SOFTWARE ENGINEERING WORKSHOP (SEW 2012)
Abstract
This paper presents an approach to analyse the application of tactics in architectural patterns. We define and illustrate the approach using ARCHERY, a language for specifying, analysing and verifying architectural patterns. The approach consists of characterising the design principles of an architectural pattern as constraints, expressed in the language, and then, establishing a refinement relation based on their satisfaction. The application of tactics preserving refinement ensures that the original design principles, expressed themselves as constraints, still hold in the resulting architectural pattern. The paper focuses on fault-tolerance tactics, and identifies a set of requirements for a semantic framework characterising them. The application of tactics represented as model transformations is then discussed and illustrated using two case studies.
2012
Autores
Barbosa, FS; Aguiar, A;
Publicação
ENASE 2012 - Proceedings of the 7th International Conference on Evaluation of Novel Approaches to Software Engineering, Wroclaw, Poland, 29-30 June, 2012.
Abstract
Object oriented decomposition is the most successful decomposition strategy used nowadays. But a single decomposition strategy cannot capture all aspects of a concept. Roles have been successfully used to model the different views a concept may provide but, despite this, roles have not been used as building blocks. Roles are mostly used to extend objects at runtime. In this paper we propose roles as a way to compose classes that provides a modular way of capturing and reusing those aspects that fall outside a concept's main purpose, while being close to the OO approach. We present how roles can be made modular and reusable. We also show how we can use roles to compose classes using JavaStage, a java extension that support roles To validate our approach we developed generic and reusable roles for the Gang of Four patterns. We were able to develop reusable roles for 10 out of 23 patterns, which is a good outcome.
2012
Autores
Barbosa, FS; Aguiar, A;
Publicação
NEW TRENDS IN SOFTWARE METHODOLOGIES, TOOLS AND TECHNIQUES
Abstract
Roles are not a new concept, but they have been used in two different ways: as modeling concepts in a static view and as instance extensions in a dynamic view. For these views only the dynamic offers supporting languages. The static view, although proving the utility of roles in modeling, does not offer a programming language that allows developers to use roles all the way from modeling to programming. We try to overcome this by presenting our role language JavaStage, based on the Java language. We do this by designing and implementing a simple framework and then compare the results with its OO equivalent. Our results show that static roles are in fact useful when used in code and that JavaStage features expand role reuse.
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.