Successful Software

14,000,000 Leading Edge Experts on the ideXlab platform

Scan Science and Technology

Contact Leading Edge Experts & Companies

Scan Science and Technology

Contact Leading Edge Experts & Companies

The Experts below are selected from a list of 83181 Experts worldwide ranked by ideXlab platform

Alexander Egyed - One of the best experts on this subject based on the ideXlab platform.

  • an assessment of search based techniques for reverse engineering feature models
    Journal of Systems and Software, 2015
    Co-Authors: Roberto E Lopezherrejon, Lukas Linsbauer, Jose A Galindo, Jose Antonio Parejo, David Benavides, Sergio Segura, Alexander Egyed
    Abstract:

    HighlightsSearch based techniques perform well for reverse engineering feature models.Different algorithms and objectives favour precision and recall differently.The F1 objective function provides a trade-off between precision and recall. Successful Software evolves from a single system by adding and changing functionality to keep up with users' demands and to cater to their similar and different requirements. Nowadays it is a common practice to offer a system in many variants such as community, professional, or academic editions. Each variant provides different functionality described in terms of features. Software Product Line Engineering (SPLE) is an effective Software development paradigm for this scenario. At the core of SPLE is variability modelling whose goal is to represent the combinations of features that distinguish the system variants using feature models, the de facto standard for such task. As SPLE practices are becoming more pervasive, reverse engineering feature models from the feature descriptions of each individual variant has become an active research subject. In this paper we evaluated, for this reverse engineering task, three standard search based techniques (evolutionary algorithms, hill climbing, and random search) with two objective functions on 74 SPLs. We compared their performance using precision and recall, and found a clear trade-off between these two metrics which we further reified into a third objective function based on Fβ, an information retrieval measure, that showed a clear performance improvement. We believe that this work sheds light on the great potential of search-based techniques for SPLE tasks.

  • reverse engineering feature models with evolutionary algorithms an exploratory study
    Symposium on Search Based Software Engineering, 2012
    Co-Authors: Roberto E Lopezherrejon, Jose A Galindo, David Benavides, Sergio Segura, Alexander Egyed
    Abstract:

    Successful Software evolves, more and more commonly, from a single system to a set of system variants tailored to meet the similiar and yet different functionality required by the distinct clients and users. Software Product Line Engineering (SPLE) is a Software development paradigm that has proven effective for coping with this scenario. At the core of SPLE is variability modeling which employs Feature Models (FMs) as the de facto standard to represent the combinations of features that distinguish the systems variants. Reverse engineering FMs consist in constructing a feature model from a set of products descriptions. This research area is becoming increasingly active within the SPLE community, where the problem has been addressed with different perspectives and approaches ranging from analysis of configuration scripts, use of propositional logic or natural language techniques, to ad hoc algorithms. In this paper, we explore the feasibility of using Evolutionary Algorithms (EAs) to synthesize FMs from the feature sets that describe the system variants. We analyzed 59 representative case studies of different characteristics and complexity. Our exploratory study found that FMs that denote proper supersets of the desired feature sets can be obtained with a small number of generations. However, reducing the differences between these two sets with an effective and scalable fitness function remains an open question. We believe that this work is a first step towards leveraging the extensive wealth of Search-Based Software Engineering techniques to address this and other variability management challenges.

  • from requirements to features an exploratory study of feature oriented refactoring
    Software Product Lines, 2011
    Co-Authors: Roberto E Lopezherrejon, Leticia Montalvillomendizabal, Alexander Egyed
    Abstract:

    More and more frequently Successful Software systems need to evolve into families of systems, known as Software Product Lines (SPLs), to be able to cater to the different functionality requirements demanded by different customers while at the same time aiming to exploit as much common functionality as possible. As a first step, this evolution demands a clear understanding of how the functional requirements map into the features of the original system. Using this knowledge, features can be refactored so that they are reused for building the new systems of the evolved SPL. In this paper we present our experience in refactoring features based on the requirements specifications of a small and a medium size systems. Our work identified eight refactoring patterns that describe how to extract the elements of features which were subsequently implemented using Feature Oriented Software Development (FOSD) a novel modularization paradigm whose driving goal is to effectively modularize features for the development of variable systems. We argue that the identification of refactoring patterns are a stepping stone towards automating Feature-Oriented Refactoring, and present some open issues that should be addressed to that avail.

Roberto E Lopezherrejon - One of the best experts on this subject based on the ideXlab platform.

  • an assessment of search based techniques for reverse engineering feature models
    Journal of Systems and Software, 2015
    Co-Authors: Roberto E Lopezherrejon, Lukas Linsbauer, Jose A Galindo, Jose Antonio Parejo, David Benavides, Sergio Segura, Alexander Egyed
    Abstract:

    HighlightsSearch based techniques perform well for reverse engineering feature models.Different algorithms and objectives favour precision and recall differently.The F1 objective function provides a trade-off between precision and recall. Successful Software evolves from a single system by adding and changing functionality to keep up with users' demands and to cater to their similar and different requirements. Nowadays it is a common practice to offer a system in many variants such as community, professional, or academic editions. Each variant provides different functionality described in terms of features. Software Product Line Engineering (SPLE) is an effective Software development paradigm for this scenario. At the core of SPLE is variability modelling whose goal is to represent the combinations of features that distinguish the system variants using feature models, the de facto standard for such task. As SPLE practices are becoming more pervasive, reverse engineering feature models from the feature descriptions of each individual variant has become an active research subject. In this paper we evaluated, for this reverse engineering task, three standard search based techniques (evolutionary algorithms, hill climbing, and random search) with two objective functions on 74 SPLs. We compared their performance using precision and recall, and found a clear trade-off between these two metrics which we further reified into a third objective function based on Fβ, an information retrieval measure, that showed a clear performance improvement. We believe that this work sheds light on the great potential of search-based techniques for SPLE tasks.

  • reverse engineering feature models with evolutionary algorithms an exploratory study
    Symposium on Search Based Software Engineering, 2012
    Co-Authors: Roberto E Lopezherrejon, Jose A Galindo, David Benavides, Sergio Segura, Alexander Egyed
    Abstract:

    Successful Software evolves, more and more commonly, from a single system to a set of system variants tailored to meet the similiar and yet different functionality required by the distinct clients and users. Software Product Line Engineering (SPLE) is a Software development paradigm that has proven effective for coping with this scenario. At the core of SPLE is variability modeling which employs Feature Models (FMs) as the de facto standard to represent the combinations of features that distinguish the systems variants. Reverse engineering FMs consist in constructing a feature model from a set of products descriptions. This research area is becoming increasingly active within the SPLE community, where the problem has been addressed with different perspectives and approaches ranging from analysis of configuration scripts, use of propositional logic or natural language techniques, to ad hoc algorithms. In this paper, we explore the feasibility of using Evolutionary Algorithms (EAs) to synthesize FMs from the feature sets that describe the system variants. We analyzed 59 representative case studies of different characteristics and complexity. Our exploratory study found that FMs that denote proper supersets of the desired feature sets can be obtained with a small number of generations. However, reducing the differences between these two sets with an effective and scalable fitness function remains an open question. We believe that this work is a first step towards leveraging the extensive wealth of Search-Based Software Engineering techniques to address this and other variability management challenges.

  • from requirements to features an exploratory study of feature oriented refactoring
    Software Product Lines, 2011
    Co-Authors: Roberto E Lopezherrejon, Leticia Montalvillomendizabal, Alexander Egyed
    Abstract:

    More and more frequently Successful Software systems need to evolve into families of systems, known as Software Product Lines (SPLs), to be able to cater to the different functionality requirements demanded by different customers while at the same time aiming to exploit as much common functionality as possible. As a first step, this evolution demands a clear understanding of how the functional requirements map into the features of the original system. Using this knowledge, features can be refactored so that they are reused for building the new systems of the evolved SPL. In this paper we present our experience in refactoring features based on the requirements specifications of a small and a medium size systems. Our work identified eight refactoring patterns that describe how to extract the elements of features which were subsequently implemented using Feature Oriented Software Development (FOSD) a novel modularization paradigm whose driving goal is to effectively modularize features for the development of variable systems. We argue that the identification of refactoring patterns are a stepping stone towards automating Feature-Oriented Refactoring, and present some open issues that should be addressed to that avail.

Hausi A Muller - One of the best experts on this subject based on the ideXlab platform.

  • combining service orientation and Software product line engineering a systematic mapping study
    Information & Software Technology, 2013
    Co-Authors: Bardia Mohabbati, Mohsen Asadi, Dragan Gasevic, Marek Hatala, Hausi A Muller
    Abstract:

    Context: Service-Orientation (SO) is a rapidly emerging paradigm for the design and development of adaptive and dynamic Software systems. Software Product Line Engineering (SPLE) has also gained attention as a promising and Successful Software reuse development paradigm over the last decade and proven to provide effective solutions to deal with managing the growing complexity of Software systems. Objective: This study aims at characterizing and identifying the existing research on employing and leveraging SO and SPLE. Method: We conducted a systematic mapping study to identify and analyze related literature. We identified 81 primary studies, dated from 2000-2011 and classified them with respect to research focus, types of research and contribution. Result: The mapping synthesizes the available evidence about combining the synergy points and integration of SO and SPLE. The analysis shows that the majority of studies focus on service variability modeling and adaptive systems by employing SPLE principles and approaches. In particular, SPLE approaches, especially feature-oriented approaches for variability modeling, have been applied to the design and development of service-oriented systems. While SO is employed in Software product line contexts for the realization of product lines to reconcile the flexibility, scalability and dynamism in product derivations thereby creating dynamic Software product lines. Conclusion: Our study summarizes and characterizes the SO and SPLE topics researchers have investigated over the past decade and identifies promising research directions as due to the synergy generated by integrating methods and techniques from these two areas.

Dragan Gasevic - One of the best experts on this subject based on the ideXlab platform.

  • combining service orientation and Software product line engineering a systematic mapping study
    Information & Software Technology, 2013
    Co-Authors: Bardia Mohabbati, Mohsen Asadi, Dragan Gasevic, Marek Hatala, Hausi A Muller
    Abstract:

    Context: Service-Orientation (SO) is a rapidly emerging paradigm for the design and development of adaptive and dynamic Software systems. Software Product Line Engineering (SPLE) has also gained attention as a promising and Successful Software reuse development paradigm over the last decade and proven to provide effective solutions to deal with managing the growing complexity of Software systems. Objective: This study aims at characterizing and identifying the existing research on employing and leveraging SO and SPLE. Method: We conducted a systematic mapping study to identify and analyze related literature. We identified 81 primary studies, dated from 2000-2011 and classified them with respect to research focus, types of research and contribution. Result: The mapping synthesizes the available evidence about combining the synergy points and integration of SO and SPLE. The analysis shows that the majority of studies focus on service variability modeling and adaptive systems by employing SPLE principles and approaches. In particular, SPLE approaches, especially feature-oriented approaches for variability modeling, have been applied to the design and development of service-oriented systems. While SO is employed in Software product line contexts for the realization of product lines to reconcile the flexibility, scalability and dynamism in product derivations thereby creating dynamic Software product lines. Conclusion: Our study summarizes and characterizes the SO and SPLE topics researchers have investigated over the past decade and identifies promising research directions as due to the synergy generated by integrating methods and techniques from these two areas.

Wei Zhang - One of the best experts on this subject based on the ideXlab platform.

  • a feature oriented approach to modeling and reusing requirements of Software product lines
    Computer Software and Applications Conference, 2003
    Co-Authors: Hong Mei, Wei Zhang
    Abstract:

    Getting a proper set of reusable requirements is an important milestone for Successful Software product line (SPL) practice. But modeling SPL requirements is usually more complex and difficult than modeling requirements for individual applications because it often involves systematically exploring commonality and variation across a set of applications. This paper presents a feature-oriented approach to modeling and reusing SPL requirements. A framework of the feature model is first proposed from five aspects, namely, basic structure, variation representation mechanism, variation binding time, variation constraint mechanism and quality feature analysis. Then, a customization-based reusing method is suggested, and a feature-oriented domain modeling method (FODM) is presented, including a concrete form of the feature model and a modeling process for it. At the end, a case study of a real domain is used to validate the feature model framework and demonstrate FODM.