Extracting feature and variability from requirement specifications is an indispensable activity to support systematic integration related single software systems into Software Product Line (SPL). Performing variability extraction is time-consuming and inefficient, since massive textual requirements need to be analyzed and classified. Despite the improvement of automatically features and relationships extraction techniques, existing approaches are not able to provide high accuracy and applicability in real-world scenarios. The aim of my doctoral research is to develop an automated technique for extracting features and variability which provides reliable solutions to simplify the work of domain analysis. I carefully analyzed the state of the art and identified main limitations so far: accuracy and automation. Based on these insights, I am developing a methodology to address this challenges by making use of advanced Natural Language Processing (NLP) and machine learning techniques. In addition, I plan to design reasonable case study to evaluate the proposed approaches and empirical study to investigate usability in practice.
{"title":"Feature and variability extraction from natural language software requirements specifications","authors":"Yang Li","doi":"10.1145/3236405.3236427","DOIUrl":"https://doi.org/10.1145/3236405.3236427","url":null,"abstract":"Extracting feature and variability from requirement specifications is an indispensable activity to support systematic integration related single software systems into Software Product Line (SPL). Performing variability extraction is time-consuming and inefficient, since massive textual requirements need to be analyzed and classified. Despite the improvement of automatically features and relationships extraction techniques, existing approaches are not able to provide high accuracy and applicability in real-world scenarios. The aim of my doctoral research is to develop an automated technique for extracting features and variability which provides reliable solutions to simplify the work of domain analysis. I carefully analyzed the state of the art and identified main limitations so far: accuracy and automation. Based on these insights, I am developing a methodology to address this challenges by making use of advanced Natural Language Processing (NLP) and machine learning techniques. In addition, I plan to design reasonable case study to evaluate the proposed approaches and empirical study to investigate usability in practice.","PeriodicalId":365533,"journal":{"name":"Proceedings of the 22nd International Systems and Software Product Line Conference - Volume 2","volume":"75 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2018-09-10","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"122828857","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
A number of SAT-based analysis concepts and tools for software product lines exist, that extract code dependencies in propositional logic from the source code assets of the product line. On these extracted conditions, SAT-solvers are used to reason about the variability. However, in practice, a lot of software product lines use integer-based variability. The variability variables hold integer values, and integer operators are used in the conditions. Most existing analysis tools can not handle this kind of variability; they expect pure Boolean conditions. This paper introduces an approach to convert integer-based variability conditions to propositional logic. Running this approach as a preparation on an integer-based product line allows the existing SAT-based analyses to work without any modifications. The pure Boolean formulas, that our approach builds as a replacement for the integer-based conditions, are mostly equivalent to the original conditions with respect to satisfiability. Our approach was motivated by and implemented in the context of a real-world industrial case-study, where such a preparation was necessary to analyze the variability. Our contribution is an approach to convert conditions, that use integer variables, into propositional formulas, to enable easy usage of SAT-solvers on the result. It works well on restricted variables (i.e. variables with a small range of allowed values); unrestricted integer variables are handled less exact, but still retain useful variability information.
{"title":"Reverse engineering code dependencies: converting integer-based variability to propositional logic","authors":"Adam Krafczyk, Sascha El-Sharkawy, Klaus Schmid","doi":"10.1145/3236405.3237202","DOIUrl":"https://doi.org/10.1145/3236405.3237202","url":null,"abstract":"A number of SAT-based analysis concepts and tools for software product lines exist, that extract code dependencies in propositional logic from the source code assets of the product line. On these extracted conditions, SAT-solvers are used to reason about the variability. However, in practice, a lot of software product lines use integer-based variability. The variability variables hold integer values, and integer operators are used in the conditions. Most existing analysis tools can not handle this kind of variability; they expect pure Boolean conditions. This paper introduces an approach to convert integer-based variability conditions to propositional logic. Running this approach as a preparation on an integer-based product line allows the existing SAT-based analyses to work without any modifications. The pure Boolean formulas, that our approach builds as a replacement for the integer-based conditions, are mostly equivalent to the original conditions with respect to satisfiability. Our approach was motivated by and implemented in the context of a real-world industrial case-study, where such a preparation was necessary to analyze the variability. Our contribution is an approach to convert conditions, that use integer variables, into propositional formulas, to enable easy usage of SAT-solvers on the result. It works well on restricted variables (i.e. variables with a small range of allowed values); unrestricted integer variables are handled less exact, but still retain useful variability information.","PeriodicalId":365533,"journal":{"name":"Proceedings of the 22nd International Systems and Software Product Line Conference - Volume 2","volume":"37 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2018-09-10","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"129044504","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
The paper reports authors' experience in teaching software product lines (SPL) for senior engineers in the company. An effective way for education in the experience is to teach SPL as a paradigm consisting of some key ideas and show how we can introduce the paradigm into the development process. The authors have used PLUS as a reference of such development process. Feature modeling is taught not only as a means of variability modeling but also as a means to facilitate construction of abstraction hierarchy and separation of concerns. Giving anti-patterns of feature modeling and countermeasures to them helps engineers discuss construction of better feature models.
{"title":"Teaching software product lines as a paradigm to engineers: an experience report in education programs and seminars for senior engineers in Japan","authors":"Tsuneo Nakanishi, K. Hisazumi, Akira Fukuda","doi":"10.1145/3236405.3237204","DOIUrl":"https://doi.org/10.1145/3236405.3237204","url":null,"abstract":"The paper reports authors' experience in teaching software product lines (SPL) for senior engineers in the company. An effective way for education in the experience is to teach SPL as a paradigm consisting of some key ideas and show how we can introduce the paradigm into the development process. The authors have used PLUS as a reference of such development process. Feature modeling is taught not only as a means of variability modeling but also as a means to facilitate construction of abstraction hierarchy and separation of concerns. Giving anti-patterns of feature modeling and countermeasures to them helps engineers discuss construction of better feature models.","PeriodicalId":365533,"journal":{"name":"Proceedings of the 22nd International Systems and Software Product Line Conference - Volume 2","volume":"800 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2018-09-10","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"121405700","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Maintaining several code bases (e.g., clones) of software variants in an application domain remains a widespread development practice, though costly and error-prone. Despite the many benefits that come with using the product-line approach, many companies are hesitant to migrate to an integrated platform for their product variants because such a migration is considered challenging and risky. Often this perception is because the migration is seen as a drastic change that is not easy to verify and assure developers that the migrated products still operate as before. In this research we propose to develop a language structure (or abstract representation) of artifacts in a software asset base that would facilitate an incremental migration of several code bases to an integrated platform. We further seek to propose and evaluate techniques for verifying the migrated product line with respect to its original code bases.
{"title":"Verification of migrated product lines","authors":"M. Mukelabai","doi":"10.1145/3236405.3236428","DOIUrl":"https://doi.org/10.1145/3236405.3236428","url":null,"abstract":"Maintaining several code bases (e.g., clones) of software variants in an application domain remains a widespread development practice, though costly and error-prone. Despite the many benefits that come with using the product-line approach, many companies are hesitant to migrate to an integrated platform for their product variants because such a migration is considered challenging and risky. Often this perception is because the migration is seen as a drastic change that is not easy to verify and assure developers that the migrated products still operate as before. In this research we propose to develop a language structure (or abstract representation) of artifacts in a software asset base that would facilitate an incremental migration of several code bases to an integrated platform. We further seek to propose and evaluate techniques for verifying the migrated product line with respect to its original code bases.","PeriodicalId":365533,"journal":{"name":"Proceedings of the 22nd International Systems and Software Product Line Conference - Volume 2","volume":"68 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2018-09-10","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"115810755","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Software Product Line has acquired a significant momentum at the end of the 1990ies since it allows the production of variable software systems corresponding to the same domain portfolio. The effectiveness of the derivation process depends on how well variability is defined and implemented which is a crucial topic area that was addressed among two essential trends: On the one hand, starting from Domain Specific Modelling Language to express domain requirements and automate the code generation with Model-Driven Engineering techniques and on the second hand, exploiting the soar of variability mechanisms. In this context, the current research presents a method that unifies the two aforementioned approaches to cover the overall strategies by defining a framework that allows a better code generation in terms of documentation, maintainability, rapidity,etc. The starting point is the usage of the Domain Specific Modelling Language to represent the stakeholders requirements. Then, the resulting meta-model will be converted into one our several Feature Diagrams on which variability mechanisms can be applied to generate all the family products. A preliminary experiment has been undertaken to design the methodology of the proposed software factory in a meta-model. The validation task was evaluated with an academic use case called HandiWeb developed to facilitate handicap persons access to the internet. The first results allow us to put the hand on the key challenges that must be resolved by the proposed methodology.
{"title":"A methodological framework to enable the generation of code from DSML in SPL","authors":"Maouaheb Belarbi","doi":"10.1145/3236405.3236426","DOIUrl":"https://doi.org/10.1145/3236405.3236426","url":null,"abstract":"Software Product Line has acquired a significant momentum at the end of the 1990ies since it allows the production of variable software systems corresponding to the same domain portfolio. The effectiveness of the derivation process depends on how well variability is defined and implemented which is a crucial topic area that was addressed among two essential trends: On the one hand, starting from Domain Specific Modelling Language to express domain requirements and automate the code generation with Model-Driven Engineering techniques and on the second hand, exploiting the soar of variability mechanisms. In this context, the current research presents a method that unifies the two aforementioned approaches to cover the overall strategies by defining a framework that allows a better code generation in terms of documentation, maintainability, rapidity,etc. The starting point is the usage of the Domain Specific Modelling Language to represent the stakeholders requirements. Then, the resulting meta-model will be converted into one our several Feature Diagrams on which variability mechanisms can be applied to generate all the family products. A preliminary experiment has been undertaken to design the methodology of the proposed software factory in a meta-model. The validation task was evaluated with an academic use case called HandiWeb developed to facilitate handicap persons access to the internet. The first results allow us to put the hand on the key challenges that must be resolved by the proposed methodology.","PeriodicalId":365533,"journal":{"name":"Proceedings of the 22nd International Systems and Software Product Line Conference - Volume 2","volume":"279 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2018-09-10","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"133168328","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
This paper describes a demonstration of the product line engineering tool and framework Gears from BigLever Software. Gears provides a single feature modeling language, a single variation point mechanism that works across the entire product lifecycle, and a single automated product configurator that are used to configure a product portfolio's shared engineering assets appropriately for each product in the portfolio. The result is an automated production line capability that can quickly produce any product in the portfolio from the same, single set of shared assets.
{"title":"Feature-based systems and software product line engineering with gears from BigLever","authors":"C. Krueger, P. Clements","doi":"10.1145/3236405.3236409","DOIUrl":"https://doi.org/10.1145/3236405.3236409","url":null,"abstract":"This paper describes a demonstration of the product line engineering tool and framework Gears from BigLever Software. Gears provides a single feature modeling language, a single variation point mechanism that works across the entire product lifecycle, and a single automated product configurator that are used to configure a product portfolio's shared engineering assets appropriately for each product in the portfolio. The result is an automated production line capability that can quickly produce any product in the portfolio from the same, single set of shared assets.","PeriodicalId":365533,"journal":{"name":"Proceedings of the 22nd International Systems and Software Product Line Conference - Volume 2","volume":"43 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2018-09-10","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"126932070","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Proceedings of the 22nd International Systems and Software Product Line Conference - Volume 2","authors":"","doi":"10.1145/3236405","DOIUrl":"https://doi.org/10.1145/3236405","url":null,"abstract":"","PeriodicalId":365533,"journal":{"name":"Proceedings of the 22nd International Systems and Software Product Line Conference - Volume 2","volume":"16 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2018-09-10","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"127804623","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}