Evidence of software inspection on feature specification for software product lines

In software product lines (SPL), scoping is a phase responsible for capturing, specifying and modeling features, and also their constraints, interactions and variations. The feature specification task, performed in this phase, is usually based on natural language, which may lead to lack of clarity, non-conformities and defects. Consequently, scoping analysts may introduce ambiguity, inconsistency, omissions and non-conformities. In this sense, this paper aims at gathering evidence about the effects of applying an inspection approach to feature specification for SPL. Data from a SPL reengineering project were analyzed in this work and the analysis indicated that the correction activity demanded more effort. Also, Pareto's principle showed that incompleteness and ambiguity reported higher non-conformity occurrences. Finally, the Poisson regression analysis showed that sub-domain risk information can be a good indicator for prioritization of sub-domains in the inspection activity.

[1]  Edward Yourdon,et al.  Structured walkthroughs , 1978 .

[2]  Jan Bosch,et al.  Workshop on Software Variability Management for Product Derivation ? Towards Tool Support , 2004, SPLC.

[3]  Rui Zhang,et al.  A real time hybrid pattern matching scheme for stock time series , 2010, ADC.

[4]  Janice Singer,et al.  Guide to Advanced Empirical Software Engineering , 2007 .

[5]  Silvio Romero de Lemos Meira,et al.  Evaluating Domain Design Approaches Using Systematic Review , 2008, ECSA.

[6]  Thomas D. Gautheir Detecting Trends Using Spearman's Rank Correlation Coefficient , 2001 .

[7]  Karl E. Wiegers,et al.  Peer Reviews in Software: A Practical Guide , 2001 .

[8]  Eduardo Santana de Almeida,et al.  Ride - The Rise Process for Domain Engineering , 2009 .

[9]  Silvio Romero de Lemos Meira,et al.  RiPLE-TE: A Process for Testing Software Product Lines , 2011, SEKE.

[10]  Per Runeson,et al.  Guidelines for conducting and reporting case study research in software engineering , 2009, Empirical Software Engineering.

[11]  Jan Bosch,et al.  Managing Variability in Software Product Lines , 2000 .

[12]  Silvio Romero de Lemos Meira,et al.  An Agile Scoping Process for Software Product Lines , 2011, SEKE.

[13]  Margaret M. Burnett,et al.  Assertions in end-user software engineering: a think-aloud study , 2002, Proceedings IEEE 2002 Symposia on Human Centric Computing Languages and Environments.

[14]  Mauro Pezzè,et al.  Software testing and analysis - process, principles and techniques , 2007 .

[15]  Silvio Romero de Lemos Meira,et al.  A Regression Testing Approach for Software Product Lines Architectures , 2010, 2010 Fourth Brazilian Symposium on Software Components, Architectures and Reuse.

[16]  Axel van Lamsweerde,et al.  Requirements Engineering: From System Goals to UML Models to Software Specifications , 2009 .

[17]  Christian Denger,et al.  Testing and inspecting reusable product line components: first empirical results , 2006, ISESE '06.

[18]  R. Yin Case Study Research: Design and Methods , 1984 .

[19]  Per Runeson,et al.  Integrating agile software development into stage-gate managed product development , 2006, Empirical Software Engineering.

[20]  Paul Clements,et al.  Software product lines - practices and patterns , 2001, SEI series in software engineering.

[21]  Taghi M. Khoshgoftaar,et al.  An application of zero-inflated Poisson regression for software fault prediction , 2001, Proceedings 12th International Symposium on Software Reliability Engineering.

[22]  Kyo Chul Kang,et al.  Feature-Oriented Domain Analysis (FODA) Feasibility Study , 1990 .

[23]  David N. Card,et al.  Learning from Our Mistakes with Defect Causal Analysis , 1999, IEEE Softw..

[24]  Sergio Segura,et al.  Automated metamorphic testing on the analyses of feature models , 2011, Inf. Softw. Technol..

[25]  Hongyu Zhang,et al.  Monitoring Software Quality Evolution for Defects , 2010, IEEE Software.

[26]  Bill Brykczynski,et al.  Software inspection : an industry best practice , 1996 .

[27]  Silvio Romero de Lemos Meira,et al.  Extending the RiPLE-DE process with quality attribute variability realization , 2011, QoSA-ISARCS '11.

[28]  David Lorge Parnas Software Inspections We Can Trust , 2003, FIDJI.

[29]  Silvio Romero de Lemos Meira,et al.  Adopting software product lines: A systematic mapping study , 2011 .

[30]  Douglas C. Montgomery,et al.  Applied Statistics and Probability for Engineers, Third edition , 1994 .

[31]  Silvio Romero de Lemos Meira,et al.  The importance of documentation, design and reuse in risk management for SPL , 2010, SIGDOC '10.

[32]  Silvio Romero de Lemos Meira,et al.  Towards metamodel support for variability and traceability in software product lines , 2011, VaMoS.

[33]  Thomas Gilb,et al.  Software Inspection , 1994 .

[34]  Thiago Henrique Burgos de Oliveira,et al.  RiPLE-EM: a process to manage evolution in software product lines , 2009 .

[35]  Silvio Romero de Lemos Meira,et al.  A Requirements Engineering process for Software Product Lines , 2010, 2010 IEEE International Conference on Information Reuse & Integration.

[36]  Sami Kollanus,et al.  Survey of Software Inspection Research , 2009 .

[37]  Luiz Fernando Capretz,et al.  Institutionalization of software product line: An empirical investigation of key organizational factors , 2007, J. Syst. Softw..

[38]  Claes Wohlin,et al.  Applying sampling to improve software inspections , 2004, J. Syst. Softw..

[39]  Amy P. Felty,et al.  Feature specification and automated conflict detection , 2003, TSEM.

[40]  Carolyn B. Seaman,et al.  Qualitative Methods in Empirical Studies of Software Engineering , 1999, IEEE Trans. Software Eng..

[41]  Robert V. Brill,et al.  Applied Statistics and Probability for Engineers , 2004, Technometrics.

[42]  Michael E. Fagan Design and Code Inspections to Reduce Errors in Program Development , 1976, IBM Syst. J..