Advertisement

Automated Software Engineering

, Volume 19, Issue 3, pp 335–377 | Cite as

Decision support for the software product line domain engineering lifecycle

  • Ebrahim Bagheri
  • Faezeh Ensan
  • Dragan Gasevic
Article

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.

Keywords

Software product lines Feature models Domain engineering NLP model inference 

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Antoniou, G., Harmelen, F.: Web ontology language: OWL. In: Handbook on Ontologies, pp. 91–110 (2009) CrossRefGoogle Scholar
  2. Babar, M., Chen, L., Shull, F.: Managing variability in software product lines. IEEE Softw. 27, 89–91 (2010) CrossRefGoogle Scholar
  3. Bagheri, E., Gasevic, D.: Assessing the maintainability of software product line feature models using structural metrics. Softw. Qual. J. 19, 579–612 (2011) CrossRefGoogle Scholar
  4. 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) CrossRefGoogle Scholar
  5. 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) Google Scholar
  6. 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 zbMATHGoogle Scholar
  7. Barrett, D.: MediaWiki. O’Reilly Media (2008) Google Scholar
  8. Basili, V., Shull, F., Lanubile, F.: Building knowledge through families of experiments. IEEE Trans. Softw. Eng. 25, 456–473 (1999) CrossRefGoogle Scholar
  9. Batory, D.: Feature models, grammars, and propositional formulas. Softw. Prod. Lines 7–20 (2005) Google Scholar
  10. 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) Google Scholar
  11. 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) Google Scholar
  12. 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) CrossRefGoogle Scholar
  13. Bradley, A.: The use of the area under the roc curve in the evaluation of machine learning algorithms. Pattern Recognit. 30, 1145–1159 (1997) CrossRefGoogle Scholar
  14. 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) Google Scholar
  15. Cox, M., Cox, T.: Multidimensional scaling. In: Handbook of Data Visualization, pp. 315–347 (2008) CrossRefGoogle Scholar
  16. Czarnecki, K., Eisenecker, U.: Generative Programming. Springer, Berlin (2000) Google Scholar
  17. Czarnecki, K., Helsen, S., Eisenecker, U.: Staged configuration using feature models. In: International Conference on Software Product Lines (SPLC), pp. 266–283 (2004) Google Scholar
  18. Czarnecki, K., Helsen, S., Eisenecker, U.: Formalizing cardinality-based feature models and their specialization. Softw. Process Improv. Pract. 10, 7–29 (2005) CrossRefGoogle Scholar
  19. 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) Google Scholar
  20. 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) Google Scholar
  21. 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) Google Scholar
  22. 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) Google Scholar
  23. Finkel, J., Kleeman, A., Manning, C.: Efficient, feature-based, conditional random field parsing. In: Proceedings of ACL-08: HLT, pp. 959–967 (2008) Google Scholar
  24. 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) CrossRefGoogle Scholar
  25. 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) CrossRefGoogle Scholar
  26. Gervasi, V., Nuseibeh, B.: Lightweight validation of natural language requirements. Softw. Pract. Exp. 32, 113–133 (2002) zbMATHCrossRefGoogle Scholar
  27. Gervasi, V., Zowghi, D.: Reasoning about inconsistencies in natural language requirements. ACM Trans. Softw. Eng. Methodol. 14, 277–330 (2005) CrossRefGoogle Scholar
  28. Grace, T.: Wikis as a knowledge management tool. J. Knowl. Manag. 13, 64–74 (2009) MathSciNetCrossRefGoogle Scholar
  29. Harsu, M.: A survey on domain engineering. Tampere, University of Technology (2002) Google Scholar
  30. Henderson-Sellers, B.: Object-Oriented Metrics: Measures of Complexity. Prentice Hall, New York (1996) Google Scholar
  31. Hovy, E., Marcu, D.: Automated text summarization. In: The Oxford Handbook of Computational Linguistics, pp. 583–598 (2005) Google Scholar
  32. 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) CrossRefGoogle Scholar
  33. John, I.: Capturing product line information from legacy user documentation. In: International Conference on Software Product Lines—SPLC, pp. 127–159 (2006) Google Scholar
  34. Kang, K., Cohen, S., Hess, J., Novak, W., Peterson, A.: Feature-oriented domain analysis (FODA) feasibility study. Carnegie Mellon University, Software Engineering Institute (1990) Google Scholar
  35. Kang, K., Sugumaran, V., Park, S.: Applied Software Product-Line Engineering. Auerbach, Boca Raton (2009) CrossRefGoogle Scholar
  36. 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) CrossRefGoogle Scholar
  37. Kof, L.: Translation of textual specifications to automata by means of discourse context modeling. Requir. Eng. Found. Softw. Qual. 197–211 (2009) Google Scholar
  38. 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) Google Scholar
  39. 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) CrossRefGoogle Scholar
  40. Lin, D.: An information-theoretic definition of similarity. In: Proceedings of the 15th International Conference on Machine Learning, vol. 1, pp. 296–304 (1998) Google Scholar
  41. 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) CrossRefGoogle Scholar
  42. 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) CrossRefGoogle Scholar
  43. McGregor, J.D., Muthig, D., Yoshimura, K., Jensen, P.: Guest editors’ introduction: Successful software product line practices. IEEE Softw. 27, 16–21 (2010) CrossRefGoogle Scholar
  44. 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) CrossRefGoogle Scholar
  45. 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) CrossRefGoogle Scholar
  46. Miller, G.: Wordnet: a lexical database for english. Commun. ACM 38, 39–41 (1995) CrossRefGoogle Scholar
  47. Nadeau, D., Sekine, S.: A survey of named entity recognition and classification. Linguist. Investig. 30, 3–26 (2007) CrossRefGoogle Scholar
  48. Niu, N., Easterbrook, S.M.: Extracting and modeling product line functional requirements. In: RE, pp. 155–164 (2008) Google Scholar
  49. Pérez, J., Arenas, M., Gutierrez, C.: Semantics and complexity of sparql. In: The Semantic Web-ISWC, pp. 30–43 (2006) CrossRefGoogle Scholar
  50. Pohl, K., Böckle, G., van der Linden, F.: Software Product Line Engineering: Foundations, Principles, and Techniques. Springer, Berlin (2005) zbMATHGoogle Scholar
  51. Resnik, P.: Using information content to evaluate semantic similarity in a taxonomy. In: Proceedings of IJCAI-95 (1995) Google Scholar
  52. 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) CrossRefGoogle Scholar
  53. 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) Google Scholar
  54. Sentz, K., Ferson, S.: Combination of evidence in Dempster-Shafer theory. Sandia National Laboratories—SAND 2002-0835 (2002) Google Scholar
  55. 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) CrossRefGoogle Scholar
  56. 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) CrossRefGoogle Scholar
  57. Tappolet, J., Kiefer, C., Bernstein, A.: Semantic web enabled software analysis. Web Semant. Sci. Serv. Agents World Wide Web 8, 225–240 (2010) CrossRefGoogle Scholar
  58. 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) CrossRefGoogle Scholar
  59. 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) CrossRefGoogle Scholar
  60. 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) CrossRefGoogle Scholar
  61. Uschold, M., Gruninger, M.: Ontologies: Principles, methods and applications. Knowl. Eng. Rev. 11, 93–136 (1996) CrossRefGoogle Scholar
  62. 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) CrossRefGoogle Scholar
  63. Weiss, S.: Text Mining: Predictive Methods for Analyzing Unstructured Information. Springer, New York (2005) zbMATHGoogle Scholar
  64. 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) CrossRefGoogle Scholar
  65. 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) Google Scholar
  66. 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) CrossRefGoogle Scholar
  67. 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) Google Scholar

Copyright information

© Springer Science+Business Media, LLC 2012

Authors and Affiliations

  1. 1.School of Computing and Information SystemsAthabasca UniversityAthabascaCanada
  2. 2.Sauder School of BusinessUniversity of British ColumbiaVancouverCanada

Personalised recommendations