iMER-FM: Iterative Process of System Feature Model Extraction from the Requirements
Abstract
Software product line engineering (SPLE) is a paradigm to promote systematic software reuse. A Feature Model (FM) is a common means to illustrate the commonality and variability of software products in a family. In most existing FM extraction approaches, keywords in the requirement document or certain types of system behavior or external events are considered features. The resulting FM is a combination of user activities and system actions (SAs), making it hard to understand. In this paper, we present an automatic approach to generate a product line FM from multiple requirement documents. We consider user activity and SAs separately in our approach and focus on the expected behaviors of the software system, together with the data being processed. The resulting FM clearly illustrates the expected functionalities of the software system and their variability in the product line. We also compared our approach with existing techniques by processing the same textual documents, and noted improvements in our results.
References
- 1. , An aspect-oriented feature modelling framework for software product line engineering, in Proc. 24th Australasian Software Engineering Conf., 2015, pp. 111–115. Crossref, Google Scholar
- 2. D. S. Cuevas, On the automated analysis of software product lines using feature models: A framework for developing automated tool support, thesis, Universidad de Sevilla (2007). Google Scholar
- 3. P. C. Clements and L. Northrop. Software Product Lines: Practices and Patterns, SEI Ser. SE (Addison-Wesley, 2001). Google Scholar
- 4. , Design and Use of Software Architectures: Adopting and Evolving a Product-line Approach (Pearson Education, 2000). Google Scholar
- 5. K. C. Kang, G. C. Sholom, A. H. James, E. N. William and A. S. Peterson, Feature-oriented domain analysis (FODA) feasibility study, No. CMU/SEI-90-TR-21, Carnegie-Mellon Univ., Pittsburgh, Software Engineering Inst., 1990. Google Scholar
- 6. , Feature extraction approaches from natural language requirements for reuse in software product lines: A systematic literature review, J. Sys. Softw. 106 (2015) 132–149. Crossref, ISI, Google Scholar
- 7. , 2017. Reengineering legacy applications into software product lines: A systematic mapping, Empir. Softw. Eng. 22(6) (2017) 2972–3016. Crossref, ISI, Google Scholar
- 8. , Reverse engineering variability from natural language documents: A systematic literature review, in Proc. 21st Int. Systems and Software Product Line Conf., Vol. A, 2017, pp. 133–142. Crossref, Google Scholar
- 9. , Generating feature models from requirements: Structural vs. functional perspectives, in Proc. 18th Int. Software Product Line Conf. Companion Volume for Workshops, Demonstrations and Tools, Vol. 2, 2014, pp. 44–51. Crossref, Google Scholar
- 10. , An exploratory study of information retrieval techniques in domain analysis, in Proc. 12th Int. Software Product Line Conf., 2008, pp. 67–76. Crossref, Google Scholar
- 11. , A framework for constructing semantically composable feature models from natural language requirements, in Proc. 13th Int. Software Product Line Conf., 2009, pp. 211–220. Google Scholar
- 12. , An approach to constructing feature models based on requirements clustering, 13th IEEE Int. Conf. Requirements Engineering, 2005, pp. 31–40. Google Scholar
- 13. , On extracting feature models from product descriptions, in Proc. Sixth Int. Workshop on Variability Modeling of Software-Intensive Systems, 2012, pp. 45–54. Crossref, Google Scholar
- 14. , Supporting domain analysis through mining and recommending features from online product listings, IEEE Trans. Softw. Eng. 39(12) (2013) 1736–1752. Crossref, ISI, Google Scholar
- 15. , Supporting commonality and variability analysis of requirements and structural models, in Proc. 16th Int. Software Product Line Conf., Vol. 2, 2012, pp. 115–118. Crossref, Google Scholar
- 16. , Reverse engineering variability from requirement documents based on probabilistic relevance and word embedding, in Proc. 22nd Int. Systems and Software Product Line Conf., Vol. 1, 2018, pp. 121–131. Crossref, Google Scholar
- 17. , Feature model extraction from documented UML use case diagrams, Ada User J. 35(2) (2014) 107. Google Scholar
- 18. , Extracting a feature model from legacy systems using the goal & scenario model, Adv. Sci. Technol. Lett. 30 (2013) 140–144. Google Scholar
- 19. , Variability analysis of requirements: Considering behavioral differences and reflecting stakeholders’ perspectives, IEEE Trans. Softw. Eng. 42(7) (2015) 687–706. Crossref, ISI, Google Scholar
- 20. , SOVA-A tool for semantic and ontological variability analysis, Int. Conf. Advanced Information Systems Engineering, 2014, pp. 177–184. Google Scholar
- 21. , Analyzing variability of software product lines using semantic and ontological considerations, Int. Conf. Advanced Information Systems Engineering, 2014, pp. 150–164. Crossref, Google Scholar
- 22. , Cross lifecycle variability analysis: Utilizing requirements and testing artifacts, J. Syst. Softw. 143 (2018) 208–230. Crossref, ISI, Google Scholar
- 23. I. F. AlexanderN. Maiden (eds.), Scenarios, Stories, Use Cases: Through the Systems Development Life-Cycle (John Wiley & Sons, 2005). Google Scholar
- 24. , Generative Programming: Methods, Tools and Applications (Addison-Wesley, 2000). Google Scholar
- 25. , Comparative study of word embedding methods in topic segmentation, Procedia Comput. Sci. 112 (2017) 340–349. Crossref, Google Scholar
- 26. T. Mikolov, K. Chen, G. Corrado and J. Dean, Efficient estimation of word representations in vector space, ICLR Workshop, 2013. Google Scholar
- 27. , A decomposition method for entity relationship models: A systems theoretic approach, in Proc. 1st Int. Conf. Systems Thinking in Management, 2000, pp. 462–469. Google Scholar
- 28. , An automated entity–relationship clustering algorithm for conceptual database design, Inf. Syst. 32(5) (2007) 773–792. Crossref, ISI, Google Scholar
- 29. , ER model clustering as an aid for user communication and documentation in database design, Commun. ACM 32(8) (1989) 975–987. Crossref, ISI, Google Scholar
- 30. , A comparison of co-occurrence and similarity measures as simulations of context, Int. Conf. Intelligent Text Processing and Computational Linguistics, 2008, pp. 52–63. Crossref, Google Scholar
- 31. M. C. De Marneffe and C. D. Manning, Stanford typed dependencies manual, Technical report, Stanford University (2008). Google Scholar
- 32. , Cm-builder: A natural language-based case tool for object-oriented analysis, Autom. Softw. Eng. 10(2) (2003) 157–181. Crossref, Google Scholar
- 33. , Heuristic-based entity-relationship modelling through natural language processing, Artificial Intelligence and Cognitive Science Conf., 2004, pp. 302–313. Google Scholar
- 34. , What is a feature? A qualitative study of features in industrial software product lines, in Proc. 19th Int. Conf. Software Product Line, 2015, pp. 16–25. Crossref, Google Scholar
- 35. , Design and Use of Software Architectures: Adopting and Evolving a Product-Line Approach (Pearson Education, ACM Press, 2000). Google Scholar
- 36. , Iterative process for generating ER diagram from unrestricted requirements, in Proc. 13th Int. Conf. Evaluation of Novel Approaches to Software Engineering, 2018, pp. 192–204. Crossref, Google Scholar
- 37. M. Javed and Y. Lin, iMER: Iterative Process of Entity Relationship and Business Process Models Extraction from the Requirements, 2020. Available at http://arxiv.org/abs/2008.02502. Google Scholar
- 38. , Automated assessment of ER model using the domain knowledge, Int. Conf. Intelligence Science, 2019, pp. 143–162. Google Scholar
- 39. , SOFL: A formal engineering methodology for industrial applications, IEEE Trans. Softw. Eng. 24(1) (1998) 24–45. Crossref, ISI, Google Scholar
Remember to check out the Most Cited Articles! |
---|
Check out our titles in C++ Programming! |