Go home now Header Background Image
Submission Procedure
share: |
Follow us
Volume 20 / Issue 5

available in:   PDF (52 kB) PS (188 kB)
Similar Docs BibTeX   Write a comment
Links into Future

Software Components, Architectures and Reuse:
Software Product Line Engineering and Source Code Enhancements

J.UCS Special Issue

Marcelo Fantinato
(USP - University of São Paulo, Brazil

Uira Kulesza
(UFRN - Federal University of Rio Grande do Norte, Brazil

Flavio Oquendo
(IRISA - University of South Brittany, France

The aim of this Special Issue is to report the state of research and practice on the theme of Software Components, Architectures and Reuse - Software Product Line Engineering and Source Code Enhancements. This special issue is comprised of selected papers drawn from submissions from an open international Call for Papers and extended peer-reviewed versions of the best papers presented at the 6th Brazilian Symposium on Software Components, Architectures and Reuse (SBCARS 2012), held in Natal, RN, Brazil, September 24-25, 2012 (http://www.cbsoft.dimap.ufrn.br/sbcars_apresentacao.php?lang=en) and at the 7th Brazilian Symposium on Software Components, Architectures and Reuse (SBCARS 2013), held in Braslia, DF, Brazil, September 30 and October 1, 2013 (http://cbsoft2013.unb.br/en/sbcars-en).

The call for this Special Issue received 27 submissions. The submissions originated from co-authors of 13 countries (Austria, Brazil, Chile, China, France, Germany, Iran, Japan, Portugal, Republic of Korea, Spain, Tunisia, and USA).

Each submission was reviewed by at least three reviewers. The reviewing process was organized in two phases. First submissions were selected to provide revised versions based on the reviewers' recommendations or definitively rejected. The revised versions were then checked by the reviewers, and a second selection carried out out of which nine high-quality papers were finally accepted to be included in the special issue. In total, 75 reviewers participated in the process.

The special issue is composed by nine accepted papers and presents high-quality research carried out by co-authors from Austria, Brazil, France, Portugal, Spain and USA.

Page 583

Contents of this Issue

The first paper, entitled "A Toolset for Checking SPL Refinements" (F. Ferreira, R. Gheyi, P. Borba, G. Soares) proposes and implements four tools for software product line (SPL) refinements that allow checking if refinement transformations preserve the behavior of the original SPL products. The tools are founded on a formal notion of SPL refinement, which guarantees that the observable behavior of products in the original SPL is preserved by corresponding products in the evolved SPL. To evaluate the proposed tools, the authors analyze 35 evolution scenarios of an SPL with 32 KLOC and compare the approaches with respect soundness, performance, and code coverage.

The second paper, entitled "Comparing Two Black-box Testing Strategies for Software Product Lines" (P. Accioly, P. Borba, R. Bonifácio) presents two controlled experiments conducted to assessing two different approaches for software product lines testing from the perspective of productivity and quality of the testing execution activities. The two evaluated testing approaches are: the Generic Technique (GT) that uses general test suites specifications without variability representation; and the Specific Technique (ST) that adopts product customized test suites. The results of both controlled experiments show that ST can improve the test execution process productivity by reducing test execution time and invalid change request rates.

The third paper, entitled "Consistency Checking in Early Software Product Line Specifications - The VCC Approach" (M. Alférez, R. E. Lopez-Herrejón, A. Moreira, V. Amaral, A. Egyed) addresses the challenge of checking, in a Software Product Line (SPL), that different models used in early SPL specification do not contain inconsistent information that may be propagated and generate inconsistent products that do not conform to its requirements. The approach proposed by these authors, called Variability Consistency Checking (VCC), relates information inferred from the relationships between features and from base models related to those features. Validating if all products in an SPL satisfy user-defined consistency constraints is based on searching for a satisfying assignment of each of the formulas generated by VCC. Results of case studies to validate VCC are presented in their paper.

The fourth paper, entitled "Defining and Validating a Feature-Driven Requirements Engineering Approach" (R. P. Oliveira, D. Blanes, J. Gonzalez-Huerta, E. Insfran, S. Abraho, S. Cohen, E. S. Almeida) describes the Feature-Driven Requirements Engineering (FeDRE) approach, which provides support to the requirements engineering of software product lines. The approach focuses mainly on the specification of requirements at early stages of domain engineering, taking as input the scoping artifacts. The authors also present a case study involving the development of a mobile application for emergency notifications using the FeDRE approach. The study results show that the analysts perceived the approach as easy to use and useful for specifying the functional requirements for this particular SPL.

The fifth paper, entitled "Flexible Feature Binding with AspectJ-based Idioms" (R. Andrade, H. Reblo, M. Ribeiro, P. Borba) proposes AspectJ-based idioms to implement flexible feature binding, which address existing design deficiencies of recent research work. To evaluate their idioms, the authors present an empirical study that applies the proposed idioms to the extracted code of 16 features of five different software product lines.

Page 584

The study then compares those idioms through of: (i) a quantitative analysis using cloning, scattering, and tangling metrics; and (ii) a qualitative analysis discussing the code reusability, changeability, and instrumentation overhead. The results of the study show that one of the proposed idioms brings advantages with respect to both quantitative and qualitative assessments.

The sixth paper, entitled "Verification of Software Product Line Artefacts: A Checklist to Support Feature Model Inspections" (R. M. Mello, E. N. Teixeira, M. Schots, C. M. L. Werner, G. H. Travassos) presents the results of a quasi-systematic review of the technical literature that point to a lack of techniques to support the inspection of Software Product Line artifacts, including the feature models that are largely used in domain modeling. As a result, these authors developed a checklist-based inspection technique, called FMCheck, to support the detection of defects on feature models. FMCheck is configurable and applicable to different feature model notations. In their paper, authors present results of an empirical evaluation, comparing FMCheck to ad-hoc techniques.

The seventh paper, entitled "A Catalogue of Refactorings to Remove Incomplete Annotations" (F. Medeiros, M. Ribeiro, R. Gheyi, B. Fonseca) addresses the needs to efficiently remove incomplete annotations used by developers. In this paper, the authors propose a catalogue of refactorings that converts incomplete annotations into complete ones without cloning code and hence without increasing Lines of Code (LOC), differently from other existing solutions. They implemented an Eclipse plug-in to support the proposed approach. To evaluate the proposed catalogue, the authors performed a study to analyze questions related to code cloning, LOC, and number of directives. And, to answer their research questions, they analyze releases of 12 program families of different domains ranging from 4.9 thousand to 1.5 million LOC. The results of this study are presented in their paper.

The eighth paper, entitled "Thesaurus-Based Tag Clouds for Test-Driven Code Search" (O. A. L. Lemos, A. C. Paula, G. Konishi, S. Bajracharya, J. Ossher, C. Lopes) proposes the adoption of thesaurus-based tag clouds to improve test-driven code search, which consists on the usage of code search and reuse that makes use of more semantic information available on test cases. The thesaurus-based tag clouds allow showing developers terms that are more frequently used in the code repository to improve their search. Terms are generated by looking up words similar to the initial keywords on a thesaurus. Tag clouds are then formed based on the frequency in which these terms appear in the code base. The authors have implemented the approach as an extension to CodeGenie - a Java-based test-driven code search tool. The paper also presents the approach evaluation conducted through an applicability study and a controlled experiment, which bring evidences of the approach's benefits.

The ninth paper, entitled "What Should I Code Now?" (L. L. N. Silva Jr, A. Plastino, L. G. P. Murta) addresses the relevant knowledge that can be extracted from the huge amount of data related to the documentation and to the source code during software development. In their paper, they present a new approach for code completion based on sequential patterns mined from previous developed source code. Using data mining as tool, their approach can consider what is being coded to provide suggestions of new code sequences based on the mined patterns. The proposed approach was implemented as a plug-in for the Eclipse IDE, named Vertical Code Completion, and applied over widely known open source systems. Their paper presents the results of these studies.

Page 585

Reviewers for this Issue

Adenilso Simao, Brazil
Alberto Costa Neto, Brazil
Alexandre Alvaro, Brazil
Alexandre Correa, Brazil
Aline Vasconcelos, Brazil
Andre Endo, Brazil
Antonio Francisco Prado, Brazil
Antony Tang, Australia
Camila Nunes, Brazil
Carlos Cuesta, Spain
Carlos da Silva, Brazil
Carlos Ramón Lopez Paz, Cuba
Cecilia Rubira, Brazil
Claudia Werner, Brazil
Cláudio Sant'Anna, Brazil
Daniel Lucrédio, Brazil
Danny Weyns, Belgium
Darko Huljenic, Croatia
Edson Oliveira Junior, Brazil
Eduardo Almeida, Brazil
Elder Cirilo, Brazil
Elisa Yumi Nakagawa, Brazil
Ellen Francine Barbosa, Brazil
Fernando Castor, Brazil
Fernando Figueira Filho, Brazil
Flavia Delicato, Brazil
Francisco Dantas, Brazil
Frederico Durao, Brazil
Frederico Lopes, Brazil
Genaina Rodrigues, Brazil
Gibeon Soares de Aquino Junior, Brazil
Gledson Elias, Brazil
Henry Muccini, Italy
Ingrid Nunes, Brazil
Isela Macía, Brazil
Ivica Crnkovic, Sweden
    Jobson Massollar, Brazil
Johannes Koskinen, Finland
John Grundy, Australia
Jose Miguel Horcas, Spain
José Pérez-Alcazar, Brazil
Kiev Gama, Brazil
Luciano Digiampietri, Brazil
Márcio Barros, Brazil
Marco Antonio Pereira Araujo, Brazil
Marco Tulio Valente, Brazil
Martin Becker, Germany
Maurizio Morisio, Italy
Mehdi Mirakhorli, USA
Nelio Cacho, Brazil
Nelson Rosa, Brazil
Oliver Hummel, Germany
Padraig O'Leary, Ireland
Paris Avgeriou, The Netherlands
Patricia Machado, Brazil
Paulo Pires, Brazil
Raffaela Mirandola, Italy
Regina Braga, Brazil
Rick Rabiser, Austria
Roberta Coelho, Brazil
Roberto Bittencourt, Brazil
Roberto dos Santos Rocha, Brazil
Rodrigo Bonifacio, Brazil
Rogerio de Lemos, Great Britain
Rosana Braga, Brazil
Sarajane Peres, Brazil
Tiago da Silva, Brazil
Uwe Zdun, Austria
Vander Alves, Brazil
Vanilson Buregio, Brazil
Vinicius Garcia, Brazil

Marcelo Fantinato
Uirá Kulesza
Flavio Oquendo
Brazil/France, April 2014

Page 586