ISBN-13: 9783659547447 / Angielski / Miękka / 2014 / 148 str.
Companies often develop a set of software variants that share some features and differ in other ones to meet specific requirements. To exploit existing software variants and build a Software Product Line (SPL), a Feature Model (FM) of this SPL must be built as a first step. To do so, it is necessary to mine optional and mandatory features in addition to associating the FM with its documentation. This book presents an approach for feature location and documentation in a collection of software product variants. Three techniques are used to do so: Formal Concept Analysis, Latent Semantic Indexing and analysis of structural code dependencies. These techniques exploit commonalities and variable parts across software variants, at source code level. The second contribution consists in documenting a mined feature by providing a name and description. It exploits both the source code of the feature and use-cases, which contains the logical organization of external functionalities together with textual descriptions of these functionalities. Relational Concept Analysis completes the same three techniques used previously as it can group entities according to their relations.
Companies often develop a set of software variants that share some features and differ in other ones to meet specific requirements. To exploit existing software variants and build a Software Product Line (SPL), a Feature Model (FM) of this SPL must be built as a first step. To do so, it is necessary to mine optional and mandatory features in addition to associating the FM with its documentation. This book presents an approach for feature location and documentation in a collection of software product variants. Three techniques are used to do so: Formal Concept Analysis, Latent Semantic Indexing and analysis of structural code dependencies. These techniques exploit commonalities and variable parts across software variants, at source code level. The second contribution consists in documenting a mined feature by providing a name and description. It exploits both the source code of the feature and use-cases, which contains the logical organization of external functionalities together with textual descriptions of these functionalities. Relational Concept Analysis completes the same three techniques used previously as it can group entities according to their relations.