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.
- M. Acher, A. Cleve, G. Perrouin, P. Heymans, C. Vanbeneden, P. Collet, and P. Lahire. 2012. On Extracting Feature Models From Product Descriptions. In Proc. Int'l Workshop on Variability Modeling of Software-intensive Systems. ACM, 45--54. Google ScholarDigital Library
- V. Alves, C. Schwanninger, L. Barbosa, A. Rashid, P. Sawyer, P. Rayson, C. Pohl, and A. Rummler. 2008. An Exploratory Study of Information Retrieval Techniques in Domain Analysis. In Proc. Int'l Software Product Line Conference. IEEE, 67--76. Google ScholarDigital Library
- S. Apel, D. Batory, C. Kästner, and G. Saake. 2013. Feature-Oriented Software Product Lines. Springer. Google ScholarDigital Library
- M. Baroni, G. Dinu, and G. Kruszewski. 2014. Don't count, predict! A systematic comparison of context-counting vs. context-predicting semantic vectors. In Proc. Conf. Association for Computational Linguistics (ACL). ACL, 238--247.Google Scholar
- S. Bird, E. Loper, and E. Klein. 2009. Natural Language Processing with Python. O'Reilly Media Inc. Google ScholarDigital Library
- K. Chen, W. Zhang, H. Zhao, and H. Mei. 2005. An Approach to Constructing Feature Models Based on Requirements Clustering. In Proc. Int'l Conf. Requirements Engineering. IEEE, 31--40. Google ScholarDigital Library
- J. Davril, E. Delfosse, N. Hariri, M. Acher, J. Cleland-Huang, and P. Heymans. 2013. Feature Model Extraction from Large Collections of Informal Product Descriptions. In Proc. Europ. Software Engineering Conf./Foundations of Software Engineering. ACM, 290--300. Google ScholarDigital Library
- Bogdan Dit, Meghan Revelle, Malcom Gethers, and Denys Poshyvanyk. 2013. Feature Location in Source Code: A Taxonomy and Survey. Journal of Software: Evolution and Process 25, 1 (2013), 53--95.Google ScholarCross Ref
- Y. Dubinsky, J. Rubin, T. Berger, S. Duszynski, M. Becker, and K. Czarnecki. 2013. An Exploratory Study of Cloning in Industrial Software Product Lines. In Proc. Eur. Conf. Soft. Maint. and Reeng. IEEE, 25--34. Google ScholarDigital Library
- H. Dumitru, M. Gibiec, N. Hariri, J. Cleland-Huang, B. Mobasher, C. Castro-Herrera, and M. Mirakhorli. 2011. On-demand Feature Recommendations Derived from Mining Public Product Descriptions. In Proc. Int'l Conf. Software Engineering. ACM, 181. Google ScholarDigital Library
- N. Itzik and I. Reinhartz-Berger. 2014. Generating Feature Models from Requirements: Structural vs. Functional Perspectives. In Proc. Int'l Software Product Line Conference. ACM, 44--51. Google ScholarDigital Library
- N. Itzik, I. Reinhartz-Berger, and Y. Wand. 2016. Variability Analysis of Requirements: Considering Behavioral Differences and Reflecting Stakeholders' Perspectives. IEEE Trans. Soft. Eng. 42 (2016), 687--706. Google ScholarDigital Library
- K. Kumaki, R. Tsuchiya, H. Washizaki, and Y. Fukazawa. 2012. Supporting Commonality and Variability Analysis of Requirements and Structural Models. In Proc. Int'l Software Product Line Conference. ACM, 115--118. Google ScholarDigital Library
- Y. Li, S. Schulze, and G. Saake. 2017. Reverse Engineering Variability from Natural Language Documents: A Systematic Literature Review. In Proc. Int'l Conf. Systems and Software Product Line Conference. ACM, 133--142. Google ScholarDigital Library
- Y. Li, S. Schulze, and G. Saake. 2018. Extracting features from requirements: Achieving accuracy and automation with neural networks. In Proc. Int'l Conf. Software Analysis, Evolution, and Reengineering. IEEE, 477--481.Google Scholar
- Y. Li, S. Schulze, and G. Saake. 2018. Reverse Engineering Variability from Requirement Documents Based on Probabilistic Relevance and Word Embedding. In Proc. Int'l Conf. Systems and Software Product Line Conference. ACM, to appear. Google ScholarDigital Library
- Sascha Lity, Remo Lachmann, Malte Lochau, and Ina Schaefer. 2013. Delta-oriented Software Product Line Test Models - The Body Comfort System Case Study. Technical Report. TU Braunschweig.Google Scholar
- Y. Lv and C. Zhai. 2011. Lower-bounding Term Frequency Normalization. In Proc. Int'l Conf. Information and Knowledge Management. ACM, 7--16. Google ScholarDigital Library
- C. D. Manning, M. Surdeanu, J. Bauer, J. Finkel, Steven J. Bethard, and D. McClosky. 2014. The Stanford CoreNLP Natural Language Processing Toolkit. In Proc. Conf. Association for Computational Linguistics (ACL). 55--60.Google Scholar
- S. B. Nasr, G. Bécan, M. Acher, J. B. Ferreira Filho, N. Sannier, B. Baudry, and J. Davril. 2017. Automated Extraction of Product Comparison Matrices from Informal Product Descriptions. J. Sys. and Soft. 124 (2017), 82--103. Google ScholarDigital Library
- I. Reinhartz-Berger, N. Itzik, and Y. Wand. 2014. Analyzing Variability of Software Product Lines Using Semantic and Ontological Considerations. In Proc. Int'l Conf. Advanced Information Systems Engineering. Springer, 150--164.Google Scholar
- C. Riva and C. Del Rosso. 2003. Experiences with Software Product Family Evolution. In Proc. Int'l Workshop on Principles of Software Evolution. IEEE, 161--169. Google ScholarDigital Library
- S. Robertson and H. Zaragoza. 2009. The Probabilistic Relevance Framework: BM25 and Beyond. Found. Trends Inf. Retr. (APR 2009). Google ScholarDigital Library
- Y. Wang. 2015. Semantic Information Extraction for Software Requirements using Semantic Role Labeling. In Proc. Int'l Conf. Progress in Informatics and Computing (PIC). IEEE, 332--337.Google Scholar
- Y. Wang. 2016. Automatic Semantic Analysis of Software Requirements Through Machine Learning and Ontology Approach. J. Shanghai Jiaotong University 21 (2016), 692--701.Google ScholarCross Ref
- N. Weston, R. Chitchyan, and A. Rashid. 2009. A Framework for Constructing Semantically Composable Feature Models from Natural Language Requirements. Proc. Int'l Software Product Line Conference (2009), 211--220. Google ScholarDigital Library
Index Terms
- Feature and variability extraction from natural language software requirements specifications
Recommendations
Reverse Engineering Variability from Natural Language Documents: A Systematic Literature Review
SPLC '17: Proceedings of the 21st International Systems and Software Product Line Conference - Volume AIdentifying features and their relations (i.e., variation points) is crucial in the process of migrating single software systems to software product lines (SPL). Various approaches have been proposed to perform feature extraction automatically from ...
Automated extraction of domain knowledge in practice: the case of feature extraction from requirements at danfoss
SPLC '20: Proceedings of the 24th ACM Conference on Systems and Software Product Line: Volume A - Volume ASoftware product line supports structured reuse of software artifacts in order to realize the maintenance and evolution of the typically large number of variants, which promotes the industrialization of software development, especially for software-...
Reverse engineering variability from requirement documents based on probabilistic relevance and word embedding
SPLC '18: Proceedings of the 22nd International Systems and Software Product Line Conference - Volume 1Feature and variability extraction from different artifacts is an indispensable activity to support systematic integration of single software systems and Software Product Line (SPL). Beyond manually extracting variability, a variety of approaches, such ...
Comments