Software Reuse: Bridging with Social-Awareness

One crucial activity in software product line (SPL) testing is the detection of erroneous artifact interactions when combined for a variant. This detection is similar to the retest test-case selection problem in regression testing, where change impact analysis is applied to reason about changed dependencies to be retested. In this paper, we propose automated change impact analysis based on incremental model slicing for incremental SPL testing. Incremental slicing allows for a slice computation by adapting a previous slice with explicit derivation of their differences by taking model changes into account. We apply incremental slicing to determine the impact of applied model changes and to reason about their potential retest. Based on our novel retest coverage criterion, each slice change specifies a retest test goal to be covered by existing test cases selected for retesting. We prototypically implemented our approach and evaluated its applicability and effectiveness by means of four SPLs.

[1]  Sholom Cohen,et al.  Service-Oriented Architectures and Software Product Lines - Putting Both Together , 2008, 2008 12th International Software Product Line Conference.

[2]  Bernhard Rumpe,et al.  Delta-oriented architectural variability using MontiCore , 2011, ECSA '11.

[3]  A. Mockus,et al.  Large-Scale Code Reuse in Open Source Software , 2007, First International Workshop on Emerging Trends in FLOSS Research and Development (FLOSS'07: ICSE Workshops 2007).

[4]  Ian Johnson,et al.  Rigorous development of reusable, domain-specific components, for complex applications , 2004 .

[5]  Stefan Eicker,et al.  A study on third party component reuse in Java enterprise open source software , 2013, CBSE '13.

[6]  Serge Abiteboul,et al.  Schema-driven Customization of Web Services , 2003, VLDB.

[7]  André L. Santos,et al.  Java Extensions for Design Pattern Instantiation , 2016, ICSR.

[8]  Klaus Pohl,et al.  Software Product Line Engineering - Foundations, Principles, and Techniques , 2005 .

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

[10]  Ramaswamy Chandramouli,et al.  The Queen's Guard: A Secure Enforcement of Fine-grained Access Control In Distributed Data Analytics Platforms , 2001, ACM Trans. Inf. Syst. Secur..

[11]  Christina Kluge,et al.  Service-Oriented Architecture: Concepts, Technology, and Design , 2005 .

[12]  Ioannis Stamelos,et al.  Non-functional requirements that influence gaming experience: a survey on gamers satisfaction factors , 2014, MindTrek.

[13]  Sooyong Park,et al.  A feature-based approach for modeling role-based access control systems , 2011, J. Syst. Softw..

[14]  Austen Rainer,et al.  Case Study Research in Software Engineering - Guidelines and Examples , 2012 .

[15]  Robert C. Martin Agile Software Development, Principles, Patterns, and Practices , 2002 .

[16]  Tijs van der Storm Variability and Component Composition , 2004, ICSR.

[17]  Jacques Klein,et al.  Aspect-oriented multi-view modeling , 2009, AOSD '09.

[18]  Jörg Kienzle,et al.  Concern-Oriented Software Design , 2013, MoDELS.

[19]  Charles W. Krueger,et al.  Software reuse , 1992, CSUR.

[20]  Joachim Henkel,et al.  Code Reuse in Open Source Software Development: Quantitative Evidence, Drivers, and Impediments , 2010, J. Assoc. Inf. Syst..

[21]  Xiaoyu Jin,et al.  Pragmatic Software Reuse in Bioinformatics: How Can Social Network Information Help? , 2016, ICSR.

[22]  Ravi S. Sandhu,et al.  Role-Based Access Control Models , 1996, Computer.

[23]  Andrey Maglyas,et al.  Is Requirements Engineering Useless in Game Development? , 2014, REFSQ.

[24]  Michal Antkiewicz,et al.  Mapping features to models: a template approach based on superimposed variants , 2005, GPCE'05.

[25]  Kung-Kiu Lau,et al.  A taxonomy of software component models , 2005, 31st EUROMICRO Conference on Software Engineering and Advanced Applications.

[26]  Jacques Klein,et al.  Reconciling Automation and Flexibility in Product Derivation , 2008, 2008 12th International Software Product Line Conference.

[27]  Antonio Ruiz Cortés,et al.  Automated Reasoning on Feature Models , 2005, Seminal Contributions to Information Systems Engineering.

[28]  Jennifer Pérez,et al.  Plastic Partial Components: A solution to support variability in architectural components , 2009, 2009 Joint Working IEEE/IFIP Conference on Software Architecture & European Conference on Software Architecture.

[29]  Wei-Po Lee,et al.  A Component-Based Framework to Rapidly Prototype Online Chess Games for Home Entertainment , 2006, 2006 IEEE International Conference on Systems, Man and Cybernetics.

[30]  Brice Morin,et al.  Managing Variability Complexity in Aspect-Oriented Modeling , 2008, MoDELS.

[31]  Sebastian Erdweg,et al.  A variability-aware module system , 2012, OOPSLA '12.

[32]  Esteban Walter Gonzalez Clua,et al.  Smart composition of game objects using dependency injection , 2009, CIE.

[33]  Clemens A. Szyperski,et al.  Component software - beyond object-oriented programming , 2002 .

[34]  Ioannis Stamelos,et al.  Quality, Productivity, and Learning in Framework-Based Development: An Exploratory Case Study , 2002, IEEE Trans. Software Eng..

[35]  C. Izurieta,et al.  A Research Plan to Characterize , Evaluate , and Predict the Impacts of Behavioral Decay in Design Patterns , 2015 .

[36]  Mike McShaffry,et al.  Game Coding Complete , 2003 .

[37]  Cyril S. Ku,et al.  Design Patterns , 2008, Wiley Encyclopedia of Computer Science and Engineering.