Abstract
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.
Similar content being viewed by others
Explore related subjects
Discover the latest articles, news and stories from top researchers in related subjects.References
Antoniou, G., Harmelen, F.: Web ontology language: OWL. In: Handbook on Ontologies, pp. 91–110 (2009)
Babar, M., Chen, L., Shull, F.: Managing variability in software product lines. IEEE Softw. 27, 89–91 (2010)
Bagheri, E., Gasevic, D.: Assessing the maintainability of software product line feature models using structural metrics. Softw. Qual. J. 19, 579–612 (2011)
Bagheri, E., Ghorbani, A.A.: An exploratory classification of applications in the realm of collaborative modeling and design. Inf. Syst. E-Bus. Manag. 8, 257–286 (2010)
Bagheri, E., Noia, T.D., Ragone, A., Gasevic, D.: Configuring software product line feature models based on stakeholders’ soft and hard requirements. In: The 14th International Software Product Line Conference. Springer, Berlin (2010)
Bagheri, E., Noia, T., Gasevic, D., Ragone, A.: Formalizing interactive staged feature model configuration. J. Soft. Maint. Evol. Res. Pract. (2012). doi:10.1002/smr.534
Barrett, D.: MediaWiki. O’Reilly Media (2008)
Basili, V., Shull, F., Lanubile, F.: Building knowledge through families of experiments. IEEE Trans. Softw. Eng. 25, 456–473 (1999)
Batory, D.: Feature models, grammars, and propositional formulas. Softw. Prod. Lines 7–20 (2005)
Benavides, D., Trinidad, P., Ruiz-Cortes, A.: Automated reasoning on feature models. In: LNCS, Advanced Information Systems Engineering: 17th International Conference, CAiSE 2005, vol. 520, pp. 491–503. Springer, Berlin (2005)
Benavides, D., Segura, S., Trinidad, P., Ruiz-Cortes, A.: FAMA: Tooling a framework for the automated analysis of feature models. In: Proceeding of the First International Workshop on Variability Modelling of Software-intensive Systems (VAMOS), pp. 129–134 (2007)
Boskovic, M., Bagheri, E., Gasevic, D., Mohabbati, B., Kaviani, N., Hatala, M.: Automated staged configuration with semantic web technologies. Int. J. Softw. Eng. Knowl. Eng. 20, 459–484 (2010)
Bradley, A.: The use of the area under the roc curve in the evaluation of machine learning algorithms. Pattern Recognit. 30, 1145–1159 (1997)
Buitelaar, P., Cimiano, P., Magnini, B.: Ontology learning from text: An overview. In: Ontology Learning from Text: Methods, Evaluation and Applications, vol. 123, pp. 3–12 (2005)
Cox, M., Cox, T.: Multidimensional scaling. In: Handbook of Data Visualization, pp. 315–347 (2008)
Czarnecki, K., Eisenecker, U.: Generative Programming. Springer, Berlin (2000)
Czarnecki, K., Helsen, S., Eisenecker, U.: Staged configuration using feature models. In: International Conference on Software Product Lines (SPLC), pp. 266–283 (2004)
Czarnecki, K., Helsen, S., Eisenecker, U.: Formalizing cardinality-based feature models and their specialization. Softw. Process Improv. Pract. 10, 7–29 (2005)
Davis, J., Goadrich, M.: The relationship between precision-recall and roc curves. In: Proceedings of the 23rd International Conference on Machine Learning, pp. 233–240. ACM, New York (2006)
Dumitru, H., Gibiec, M., Hariri, N., Cleland-Huang, J., Mobasher, B., Castro-Herrera, C., Mirakhorli, M.: On-demand feature recommendations derived from mining public product descriptions. In: Proceeding of the 33rd International Conference on Software Engineering, pp. 181–190. ACM, New York (2011)
Fabbrini, F., Fusani, M., Gnesi, S., Lami, G.: The linguistic approach to the natural language requirements quality: benefit of the use of an automatic tool. In: Software Engineering Workshop, 2001. Proceedings. 26th Annual NASA Goddard, pp. 97–105. IEEE, New York (2001)
Finkel, J., Grenager, T., Manning, C.: Incorporating non-local information into information extraction systems by gibbs sampling. In: Proceedings of the 43rd Annual Meeting on Association for Computational Linguistics, pp. 363–370. Association for Computational Linguistics, Stroudsburg (2005)
Finkel, J., Kleeman, A., Manning, C.: Efficient, feature-based, conditional random field parsing. In: Proceedings of ACL-08: HLT, pp. 959–967 (2008)
Florian, R., Ittycheriah, A., Jing, H., Zhang, T.: Named entity recognition through classifier combination. In: Proceedings of the Seventh Conference on Natural Language Learning at HLT-NAACL 2003, vol. 4, pp. 168–171. Association for Computational Linguistics, Stroudsburg (2003)
Genero, M., Poels, G., Piattini, M.: Defining and validating metrics for assessing the understandability of entity-relationship diagrams. Data Knowl. Eng. 64, 534–557 (2008)
Gervasi, V., Nuseibeh, B.: Lightweight validation of natural language requirements. Softw. Pract. Exp. 32, 113–133 (2002)
Gervasi, V., Zowghi, D.: Reasoning about inconsistencies in natural language requirements. ACM Trans. Softw. Eng. Methodol. 14, 277–330 (2005)
Grace, T.: Wikis as a knowledge management tool. J. Knowl. Manag. 13, 64–74 (2009)
Harsu, M.: A survey on domain engineering. Tampere, University of Technology (2002)
Henderson-Sellers, B.: Object-Oriented Metrics: Measures of Complexity. Prentice Hall, New York (1996)
Hovy, E., Marcu, D.: Automated text summarization. In: The Oxford Handbook of Computational Linguistics, pp. 583–598 (2005)
Janota, M., Kiniry, J.: Reasoning about feature models in higher-order logic. In: 11th International Software Product Line Conference, 2007. SPLC 2007, pp. 13–22 (2007)
John, I.: Capturing product line information from legacy user documentation. In: International Conference on Software Product Lines—SPLC, pp. 127–159 (2006)
Kang, K., Cohen, S., Hess, J., Novak, W., Peterson, A.: Feature-oriented domain analysis (FODA) feasibility study. Carnegie Mellon University, Software Engineering Institute (1990)
Kang, K., Sugumaran, V., Park, S.: Applied Software Product-Line Engineering. Auerbach, Boca Raton (2009)
Kiefer, C., Bernstein, A., Stocker, M.: The fundamentals of isparql: A virtual triple approach for similarity-based semantic web tasks. In: The Semantic Web, pp. 295–309 (2007)
Kof, L.: Translation of textual specifications to automata by means of discourse context modeling. Requir. Eng. Found. Softw. Qual. 197–211 (2009)
Kohavi, R.: A study of cross-validation and bootstrap for accuracy estimation and model selection. In: International Joint Conference on Artificial Intelligence, vol. 14, pp. 1137–1145 (1995)
Lee, K., Kang, K., Lee, J.: Concepts and guidelines of feature modeling for product line software engineering. Lect. Notes Comput. Sci. 2319, 62–77 (2002)
Lin, D.: An information-theoretic definition of similarity. In: Proceedings of the 15th International Conference on Machine Learning, vol. 1, pp. 296–304 (1998)
Lopez-Herrejon, R., Batory, D.: A standard problem for evaluating product-line methodologies. In: International Conference on Generative and Component-Based Software Engineering, pp. 10–24 (2001)
McCallum, A., Li, W.: Early results for named entity recognition with conditional random fields, feature induction and web-enhanced lexicons. In: Proceedings of the Seventh Conference on Natural Language Learning at HLT-NAACL 2003, vol. 4, pp. 188–191. Association for Computational Linguistics, Stroudsburg (2003)
McGregor, J.D., Muthig, D., Yoshimura, K., Jensen, P.: Guest editors’ introduction: Successful software product line practices. IEEE Softw. 27, 16–21 (2010)
Mendonca, M., Wasowski, A., Czarnecki, K., Cowan, D.: Efficient compilation techniques for large scale feature models. In: Proceedings of the 7th International Conference on Generative Programming and Component Engineering, pp. 13–22. ACM, New York (2008)
Mendonca, M., Branco, M., Cowan, D.: S.p.l.o.t.: software product lines online tools. In: OOPSLA ’09: Proceeding of the 24th ACM SIGPLAN Conference Companion on Object Oriented Programming Systems Languages and Applications, pp. 761–762. ACM, New York (2009)
Miller, G.: Wordnet: a lexical database for english. Commun. ACM 38, 39–41 (1995)
Nadeau, D., Sekine, S.: A survey of named entity recognition and classification. Linguist. Investig. 30, 3–26 (2007)
Niu, N., Easterbrook, S.M.: Extracting and modeling product line functional requirements. In: RE, pp. 155–164 (2008)
Pérez, J., Arenas, M., Gutierrez, C.: Semantics and complexity of sparql. In: The Semantic Web-ISWC, pp. 30–43 (2006)
Pohl, K., Böckle, G., van der Linden, F.: Software Product Line Engineering: Foundations, Principles, and Techniques. Springer, Berlin (2005)
Resnik, P.: Using information content to evaluate semantic similarity in a taxonomy. In: Proceedings of IJCAI-95 (1995)
Ryan, K.: The role of natural language in requirements engineering. In: Proceedings of IEEE International Symposium on Requirements Engineering, 1993, pp. 240–242. IEEE, New York (1992)
Sampaio, A., Rashid, A., Chitchyan, R., Rayson, P.: EA-miner: towards automation in aspect-oriented requirements engineering. Trans. Asp.-Oriented Softw. Devel. III, 4–39 (2007)
Sentz, K., Ferson, S.: Combination of evidence in Dempster-Shafer theory. Sandia National Laboratories—SAND 2002-0835 (2002)
Serrano, M.A., Calero, C., Sahraoui, H.A., Piattini, M.: Empirical studies to assess the understandability of data warehouse schemas using structural metrics. Softw. Qual. J. 16, 79–106 (2008)
She, S., Lotufo, R., Berger, T., Wasowski, A., Czarnecki, K.: Reverse engineering feature models. In: Proceeding of the 33rd International Conference on Software Engineering. ICSE ’11, pp. 461–470. ACM, New York (2011)
Tappolet, J., Kiefer, C., Bernstein, A.: Semantic web enabled software analysis. Web Semant. Sci. Serv. Agents World Wide Web 8, 225–240 (2010)
Tessier, P., Gérard, S., Terrier, F., Geib, J.: Using variation propagation for model-driven management of a system family. In: International Conference on Software Product Lines, pp. 222–233 (2005)
Tjong Kim Sang, E., De Meulder, F.: Introduction to the conll-2003 shared task: Language-independent named entity recognition. In: Proceedings of the Seventh Conference on Natural Language Learning at HLT-NAACL 2003, vol. 4, pp. 142–147. Association for Computational Linguistics, Stroudsburg (2003)
Uren, V., Cimiano, P., Iria, J., Handschuh, S., Vargas-Vera, M., Motta, E., Ciravegna, F.: Semantic annotation for knowledge management: Requirements and a survey of the state of the art. Web Semant. Sci. Serv. Agents World Wide Web 4, 14–28 (2006)
Uschold, M., Gruninger, M.: Ontologies: Principles, methods and applications. Knowl. Eng. Rev. 11, 93–136 (1996)
Wang, H., Li, Y., Sun, J., Zhang, H., Pan, J.: Verifying feature models using OWL. Web Semant. Sci. Serv. Agents World Wide Web 5, 117–129 (2007)
Weiss, S.: Text Mining: Predictive Methods for Analyzing Unstructured Information. Springer, New York (2005)
Weiss, D.M., Clements, P.C., Kang, K., Krueger, C.: Software product line hall of fame. In: SPLC ’06: Proceedings of the 10th International on Software Product Line Conference, Washington, DC, USA, p. 237. IEEE Computer Society, Los Alamitos (2006)
Weston, N., Chitchyan, R., Rashid, A.: A framework for constructing semantically composable feature models from natural language requirements. In: Proceedings of the 13th International Software Product Line Conference, pp. 211–220. Carnegie Mellon University (2009)
Zhong, H., Zhang, L., Xie, T., Mei, H.: Inferring resource specifications from natural language api documentation. In: Proceedings of the 2009 IEEE/ACM International Conference on Automated Software Engineering, pp. 307–318. IEEE Computer Society, Los Alamitos (2009)
Zhou, G., Su, J.: Named entity recognition using an hmm-based chunk tagger. In: Proceedings of the 40th Annual Meeting on Association for Computational Linguistics, pp. 473–480. Association for Computational Linguistics, Stroudsburg (2002)
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
About this article
Cite this article
Bagheri, E., Ensan, F. & Gasevic, D. Decision support for the software product line domain engineering lifecycle. Autom Softw Eng 19, 335–377 (2012). https://doi.org/10.1007/s10515-011-0099-7
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10515-011-0099-7