Decision support for the software product line domain engineering lifecycle

Software product line engineering is a paradigm that advocates the reusability of software engineering assets and the rapid development of new applications for a target domain. These objectives are achieved by capturing the commonalities and variabilities between the applications of the target domain and through the development of comprehensive and variability-covering feature models. The feature models developed within the software product line development process need to cover the relevant features and aspects of the target domain. In other words, the feature models should be elaborate representations of the feature space of that domain. Given that feature models, i.e., software product line feature models, are developed mostly by domain analysts by sifting through domain documentation, corporate records and transcribed interviews, the process is a cumbersome and error-prone one. In this paper, we propose a decision support platform that assists domain analysts throughout the domain engineering lifecycle by: (1) automatically performing natural language processing tasks over domain documents and identifying important information for the domain analysts such as the features and integrity constraints that exist in the domain documents; (2) providing a collaboration platform around the domain documents such that multiple domain analysts can collaborate with each other during the process using a Wiki; (3) formulating semantic links between domain terminology with external widely used ontologies such as WordNet in order to disambiguate the terms used in domain documents; and (4) developing traceability links between the unstructured information available in the domain documents and their formal counterparts within the formal feature model representations. Results obtained from our controlled experimentations show that the decision support platform is effective in increasing the performance of the domain analysts during the domain engineering lifecycle in terms of both the coverage and accuracy measures.

[1]  Paul Buitelaar,et al.  Ontology Learning from Text: An Overview , 2005 .

[2]  Lianping Chen,et al.  Managing Variability in Software Product Lines , 2010, IEEE Software.

[3]  M. Harsu A survey on domain engineering , 2002 .

[4]  Joseph R. Kiniry,et al.  Reasoning about Feature Models in Higher-Order Logic , 2007 .

[5]  Jian Su,et al.  Named Entity Recognition using an HMM-based Chunk Tagger , 2002, ACL.

[6]  Krzysztof Czarnecki,et al.  Staged Configuration Using Feature Models , 2004, SPLC.

[7]  Klaus Pohl,et al.  Software Product Line Engineering , 2005 .

[8]  Dragan Gasevic,et al.  Configuring Software Product Line Feature Models Based on Stakeholders' Soft and Hard Requirements , 2010, SPLC.

[9]  Didar Zowghi,et al.  Reasoning about inconsistencies in natural language requirements , 2005, TSEM.

[10]  Jeff Z. Pan,et al.  Verifying feature models using OWL , 2007, J. Web Semant..

[11]  Stefania Gnesi,et al.  The linguistic approach to the natural language requirements quality: benefit of the use of an automatic tool , 2001, Proceedings 26th Annual NASA Goddard Software Engineering Workshop.

[12]  Krzysztof Czarnecki,et al.  Generative Programming , 2001, ECOOP Workshops.

[13]  Isabel John,et al.  Capturing Product Line Information from Legacy User Documentation , 2006, Software Product Lines.

[14]  Klaus Pohl,et al.  Software Product Line Engineering - Foundations, Principles, and Techniques , 2005 .

[15]  Satoshi Sekine,et al.  A survey of named entity recognition and classification , 2007 .

[16]  Kyo Chul Kang,et al.  Feature-Oriented Domain Analysis (FODA) Feasibility Study , 1990 .

[17]  Tong Zhang,et al.  Named Entity Recognition through Classifier Combination , 2003, CoNLL.

[18]  Jan Bosch,et al.  Managing Variability in Software Product Lines , 2000 .

[19]  Donald D. Cowan,et al.  S.P.L.O.T.: software product lines online tools , 2009, OOPSLA Companion.

[20]  Patrick Tessier,et al.  Using Variation Propagation for Model-Driven Management of a System Family , 2005, SPLC.

[21]  Marek Hatala,et al.  Automated Staged Configuration with Semantic Web Technologies , 2010, Int. J. Softw. Eng. Knowl. Eng..

[22]  Ruzanna Chitchyan,et al.  A framework for constructing semantically composable feature models from natural language requirements , 2009, SPLC.

[23]  Michael Uschold,et al.  Ontologies: principles, methods and applications , 1996, The Knowledge Engineering Review.

[24]  Dragan Gasevic,et al.  Formalizing interactive staged feature model configuration , 2012, J. Softw. Evol. Process..

[25]  Jaejoon Lee,et al.  Concepts and Guidelines of Feature Modeling for Product Line Software Engineering , 2002, ICSR.

[26]  Erik F. Tjong Kim Sang,et al.  Introduction to the CoNLL-2003 shared task , 2003 .

[27]  George A. Miller WordNet: A Lexical Database for English , 1992, HLT.

[28]  Jane Cleland-Huang,et al.  On-demand feature recommendations derived from mining public product descriptions , 2011, 2011 33rd International Conference on Software Engineering (ICSE).

[29]  Ruzanna Chitchyan,et al.  EA-Miner: Towards Automation in Aspect-Oriented Requirements Engineering , 2007, LNCS Trans. Aspect Oriented Softw. Dev..

[30]  David M. Weiss,et al.  Software Product Line Hall of Fame , 2006, 10th International Software Product Line Conference (SPLC'06).

[31]  Mark Goadrich,et al.  The relationship between Precision-Recall and ROC curves , 2006, ICML.

[32]  Tong Zhang,et al.  Text Mining: Predictive Methods for Analyzing Unstructured Information , 2004 .

[33]  Brian Henderson-Sellers,et al.  Object-oriented metrics: measures of complexity , 1995 .

[34]  Antonio Ruiz Cortés,et al.  Automated Reasoning on Feature Models , 2005, CAiSE.

[35]  Nan Niu,et al.  Extracting and Modeling Product Line Functional Requirements , 2008, 2008 16th IEEE International Requirements Engineering Conference.

[36]  Kari Sentz,et al.  Combination of Evidence in Dempster-Shafer Theory , 2002 .

[37]  Forrest Shull,et al.  Building Knowledge through Families of Experiments , 1999, IEEE Trans. Software Eng..

[38]  Jakob Axelsson,et al.  Evaluation of Design Options in Embedded Automotive Product Lines , 2010 .

[39]  Sergio Segura,et al.  FAMA: Tooling a Framework for the Automated Analysis of Feature Models , 2007, VaMoS.

[40]  Kevin Ryan,et al.  The role of natural language in requirements engineering , 1993, [1993] Proceedings of the IEEE International Symposium on Requirements Engineering.

[41]  Christopher D. Manning,et al.  Efficient, Feature-based, Conditional Random Field Parsing , 2008, ACL.

[42]  Ali A. Ghorbani,et al.  An exploratory classification of applications in the realm of collaborative modeling and design , 2010, Inf. Syst. E Bus. Manag..

[43]  Philip Resnik,et al.  Using Information Content to Evaluate Semantic Similarity in a Taxonomy , 1995, IJCAI.

[44]  Abraham Bernstein,et al.  The Fundamentals of iSPARQL: A Virtual Triple Approach for Similarity-Based Semantic Web Tasks , 2007, ISWC/ASWC.

[45]  Ron Kohavi,et al.  A Study of Cross-Validation and Bootstrap for Accuracy Estimation and Model Selection , 1995, IJCAI.

[46]  John D. McGregor,et al.  Guest Editors' Introduction: Successful Software Product Line Practices , 2010, IEEE Softw..

[47]  Steffen Staab,et al.  International Handbooks on Information Systems , 2013 .

[48]  Mario Piattini,et al.  Empirical studies to assess the understandability of data warehouse schemas using structural metrics , 2008, Software Quality Journal.

[49]  Erik F. Tjong Kim Sang,et al.  Introduction to the CoNLL-2003 Shared Task: Language-Independent Named Entity Recognition , 2003, CoNLL.

[50]  Tao Xie,et al.  Inferring Resource Specifications from Natural Language API Documentation , 2009, 2009 IEEE/ACM International Conference on Automated Software Engineering.

[51]  Roberto Erick Lopez-Herrejon,et al.  A Standard Problem for Evaluating Product-Line Methodologies , 2001, GCSE.

[52]  Christopher D. Manning,et al.  Incorporating Non-local Information into Information Extraction Systems by Gibbs Sampling , 2005, ACL.

[53]  Tay Pei Lyn Grace,et al.  Wikis as a knowledge management tool , 2009, J. Knowl. Manag..

[54]  Philipp Cimiano,et al.  Ontology Learning from Text: Methods, Evaluation and Applications , 2005 .

[55]  George A. Miller,et al.  WordNet: A Lexical Database for English , 1995, HLT.

[56]  GervasiVincenzo,et al.  Reasoning about inconsistencies in natural language requirements , 2005 .

[57]  Geoffrey Sampson,et al.  The Oxford Handbook of Computational Linguistics , 2003, Lit. Linguistic Comput..

[58]  Donald D. Cowan,et al.  Efficient compilation techniques for large scale feature models , 2008, GPCE '08.

[59]  Leonid Kof,et al.  Translation of Textual Specifications to Automata by Means of Discourse Context Modeling , 2009, REFSQ.

[60]  Wei Li,et al.  Early results for Named Entity Recognition with Conditional Random Fields, Feature Induction and Web-Enhanced Lexicons , 2003, CoNLL.

[61]  Don S. Batory,et al.  Feature Models, Grammars, and Propositional Formulas , 2005, SPLC.

[62]  Dekang Lin,et al.  An Information-Theoretic Definition of Similarity , 1998, ICML.

[63]  Siegfried Handschuh,et al.  Semantic annotation for knowledge management: Requirements and a survey of the state of the art , 2006, J. Web Semant..

[64]  Bashar Nuseibeh,et al.  Lightweight validation of natural language requirements , 2002, Softw. Pract. Exp..

[65]  Andrew P. Bradley,et al.  The use of the area under the ROC curve in the evaluation of machine learning algorithms , 1997, Pattern Recognit..

[66]  Ruslan Mitkov,et al.  The Oxford handbook of computational linguistics , 2003 .

[67]  Eduard Hovy,et al.  Automated Text Summarization in SUMMARIST , 1997, ACL 1997.

[68]  Frank van Harmelen,et al.  Web Ontology Language: OWL , 2004, Handbook on Ontologies.

[69]  Marcelo Arenas,et al.  Semantics and Complexity of SPARQL , 2006, International Semantic Web Conference.

[70]  Krzysztof Czarnecki,et al.  Reverse engineering feature models , 2011, 2011 33rd International Conference on Software Engineering (ICSE).

[71]  Krzysztof Czarnecki,et al.  Formalizing cardinality-based feature models and their specialization , 2005, Softw. Process. Improv. Pract..

[72]  Dragan Gasevic,et al.  Assessing the maintainability of software product line feature models using structural metrics , 2011, Software Quality Journal.

[73]  Mirella Lapata,et al.  Proceedings of ACL-08: HLT , 2008 .

[74]  Trevor F. Cox,et al.  Metric multidimensional scaling , 2000 .

[75]  Sooyong Park,et al.  Applied Software Product Line Engineering , 2009 .

[76]  Mario Piattini,et al.  Defining and validating metrics for assessing the understandability of entity-relationship diagrams , 2008, Data Knowl. Eng..

[77]  Walter Daelemans,et al.  Proceedings of the seventh conference on Natural language learning at HLT-NAACL 2003 - Volume 4 , 2003 .