27.03.2014 Views

SEKE 2012 Proceedings - Knowledge Systems Institute

SEKE 2012 Proceedings - Knowledge Systems Institute

SEKE 2012 Proceedings - Knowledge Systems Institute

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

A Set of Inspection Techniques on Software Product<br />

Line Models<br />

Rafael Cunha<br />

Nokia <strong>Institute</strong> of Technology<br />

INdT<br />

Manaus, Brazil<br />

rafael.cunha@indt.org.br<br />

Eduardo Santana de Almeida<br />

Reuse in Software Engineering (RiSE)<br />

Universidade Federal da Bahia (UFBA)<br />

Salvador, Brazil<br />

esa@dcc.ufba.br<br />

Tayana Conte<br />

Grupo de Usabilidade e Engenharia de Software<br />

Universidade Federal do Amazonas (UFAM)<br />

Manaus, Brazil<br />

tayana@icomp.ufam.edu.br<br />

José Carlos Maldonado<br />

Departamento de Ciência da Computação<br />

Universidade de São Paulo (USP)<br />

São Carlos, Brazil<br />

jcmaldon@icmc.usp.br<br />

Abstract— Software Product Lines are an approach that enables<br />

organizations to develop a number of similar products in the<br />

same application domain reducing development and maintenance<br />

cost and increasing productivity. As in traditional software<br />

development approach, software product lines model need to be<br />

evaluated for improving software quality. This work proposes a<br />

set of inspection techniques, named SPLIT, for evaluating<br />

software product lines models. An in vitro experiment was<br />

conducted for comparing a defect type based inspection approach<br />

and the proposed set of techniques. Results indicated that our<br />

techniques found a greater number of defects than a defect type<br />

based inspection approach.<br />

Keywords-inspection technique; software product line; feature<br />

model; empirical study<br />

I. INTRODUCTION<br />

A Software Product Line (SPL) supports reusability by<br />

developing a set of products sharing a core com monalities and<br />

differing variabilities [1]. T hus, instead of in traditional<br />

software development where it usually models one product a<br />

time, it models a set of products.<br />

An essential reason for introducing product line engineering<br />

is cost reduction [2]. Since every product uses the same core<br />

features and some optional ones, it can be reused aiming in a<br />

cost reduction for each system. Although these artifacts can be<br />

reused, it is necessary investments for creating them planning<br />

the reuse mechanism, so that they are able to provide managed<br />

reuse. In a software product line, in general, the time to market<br />

indeed is initially higher, as the com mon artifacts have to be<br />

built first. H owever, it is considerably shortened as m any<br />

artifacts can be reused for each new product [2].<br />

Software product lines need to address the same issues as in<br />

traditional software developmen t as inconsistencies betw een<br />

requirements and software specifications. One approach that is<br />

applied to traditional softw are development that im proves<br />

quality and reduces costs is inspection techniques, w hich is<br />

used to identify defects in ear ly stage of development [3].<br />

Inspections of software design may be especially crucial since<br />

design defects can directly affect the quality of, and effort<br />

required for, the im plementation [3]. Because SPL models are<br />

quite different from single sy stem development, standard<br />

techniques are insufficient to address the specific<br />

characteristics of reusable systems [4], thus new inspection<br />

techniques tailored to the SPL models are needed.<br />

This scenario has m otivated one of our research’s goals: to<br />

define a set of inspection techniques, named SPLIT, tailored to<br />

support quality assurance concerned with specific models used<br />

for Software Product Lines specification. This paper proposes<br />

and validates, using a controlled experiment, a set of<br />

techniques to evaluate a feature model and a product map<br />

against software requirement document and feature model<br />

inconsistencies. We propose that our set of techniques find a<br />

greater number of defects than a defect type based inspection<br />

approach.<br />

The remainder of this paper is structured as follow s:<br />

Section 2 presents background information on Software<br />

Product Lines. Section 3 presents the set of inspection<br />

techniques, SPLIT, proposed for software product line<br />

specifications. In Section 4, the controlled experiment to<br />

evaluate the set of the proposed techniques is discussed in<br />

detail, including goals and experi mental design. In Section 5,<br />

the results are presented and discussed. Section 6 describes<br />

threats to the validity of our study. Finally, conclusions and<br />

comments on future work are given in Section 7.<br />

II. SOFTWARE PRODUCT LINE<br />

Software Product Lines are a set of software-intensive<br />

systems sharing a common, managed set of features that satisfy<br />

the specific needs of a particul ar market segment or mission<br />

and that are developed from a common set of core assets in a<br />

prescribed way [5]. The artifacts used in different products<br />

have to adaptable to fit each system created in the product line.<br />

657

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!