Enabling automated requirements reuse and configuration

Regular Paper

Abstract

A system product line (PL) often has a large number of reusable and configurable requirements, which in practice are organized hierarchically based on the architecture of the PL. However, the current literature lacks approaches that can help practitioners to systematically and automatically develop structured and configuration-ready PL requirements repositories. In the context of product line engineering and model-based engineering, automatic requirements structuring can benefit from models. Such a structured PL requirements repository can greatly facilitate the development of product-specific requirements repository, the product configuration at the requirements level, and the smooth transition to downstream product configuration phases (e.g., at the architecture design phase). In this paper, we propose a methodology with tool support, named as Zen-ReqConfig, to tackle the above challenge. Zen-ReqConfig is built on existing model-based technologies, natural language processing, and similarity measure techniques. It automatically devises a hierarchical structure for a PL requirements repository, automatically identifies variabilities in textual requirements, and facilitates the configuration of products at the requirements level, based on two types of variability modeling techniques [i.e., cardinality-based feature modeling (CBFM) and a UML-based variability modeling methodology (named as SimPL)]. We evaluated Zen-ReqConfig with five case studies. Results show that Zen-ReqConfig can achieve a better performance based on the character-based similarity measure Jaro than the term-based similarity measure Jaccard. With Jaro, Zen-ReqConfig can allocate textual requirements with high precision and recall, both over 95% on average and identify variabilities in textual requirements with high precision (over 97% on average) and recall (over 94% on average). Zen-ReqConfig achieved very good time performance: with less than a second for generating a hierarchical structure and less than 2 s on average for allocating a requirement. When comparing SimPL and CBFM, no practically significant difference was observed, and they both performed well when integrated with Zen-ReqConfig.

Keywords

Requirements Product line Configuration Reuse Feature model 

Notes

Acknowledgements

The work is funded by the Zen-Configurator project (Grant No. 240024/F20). Tao Yue and Shaukat Ali are also supported by U-Test (Grant No. 645463), MBE-CR (Grant No. 239063), and MBT4CPS (Grant No. 240013/O70) projects. Yan Li is supported by the exchange program between the Research Council of Norway and China Scholarship Council (No. 263920/H30). The work is also partially supported by the National Natural Science Foundation of China (No. 61672078) and the project of Beihang University (No. SKLSDE-2016ZX-10).

References

  1. 1.
    Pohl, K.: Requirements Engineering: Fundamentals, Principles, and Techniques. Springer Publishing Company, Incorporated, Berlin (2010)Google Scholar
  2. 2.
    Boehm, B.: A view of 20th and 21st century software engineering. In: Proceedings of the 28th International Conference on Software Engineering, pp. 12–29. ACM (2006)Google Scholar
  3. 3.
    Pohl, K., Böckle, G., Van Der Linden, F.J.: Software Product Line Engineering: Foundations, Principles and Techniques. Springer, Berlin (2005)CrossRefMATHGoogle Scholar
  4. 4.
    Behjati, R., Yue, T., Briand, L., Selic, B.: SimPL: a product-line modeling methodology for families of integrated control systems. Inf. Softw. Technol. 55(3), 607–629 (2013)CrossRefGoogle Scholar
  5. 5.
    Society, I.C., Committee, S.E.S., Board, I.-S.S.: IEEE recommended practice for software requirements specifications. Inst. Electr. Electron. Eng. 1998, 1–40 (1998)Google Scholar
  6. 6.
    Štuikys, V., Damaševičius, R.: Measuring complexity of domain models represented by feature diagrams. Inf. Technol. Control 38, 3 (2015)MATHGoogle Scholar
  7. 7.
    Jacobson, I., Booch, G., Rumbaugh, J., Rumbaugh, J., Booch, G.: The Unified Software Development Process. Addison-Wesley, Reading (1999)Google Scholar
  8. 8.
    Iglesias, A., Lu, H., Arellano, C., Yue, T., Ali, S., Sagardui, G.: Product line engineering of monitoring functionality in industrial cyber-physical systems: a domain analysis. In: The International Systems and Software Product Line Conference, pp 195–204 (2017)Google Scholar
  9. 9.
    Yue, T., Ali, S., Selic, B.: Cyber-physical system product line engineering: comprehensive domain analysis and experience report. In: The International Conference, pp. 338–347 (2015)Google Scholar
  10. 10.
    Gomaa, H., Kerschberg, L.: Domain modeling for software reuse and evolution. In: Proceedings of Computer Assisted Software Engineering Workshop (CASE 95) (1995)Google Scholar
  11. 11.
    Safdar, S.A., Yue, T., Ali, S., Lu, H.: Evaluating variability modeling techniques for supporting cyber-physical system product line engineering. In: International Conference on System Analysis and Modeling, pp. 1–19. Springer (2016)Google Scholar
  12. 12.
    Lee, K., Kang, K.C., Lee, J.: Concepts and guidelines of feature modeling for product line software engineering. In: International Conference on Software Reuse, pp. 62–77. Springer (2002)Google Scholar
  13. 13.
    Czarnecki, K., Kim, C.H.P.: Cardinality-based feature modeling and constraints: a progress report. In: International Workshop on Software Factories, pp. 16–20 (2005)Google Scholar
  14. 14.
    Haugen, Wasowski, A., Czarnecki, K.: common variability language. SPLC 2, 266–267 (2012)CrossRefGoogle Scholar
  15. 15.
    Lu, H., Yue, T., Ali, S., Zhang, L.: Model-based incremental conformance checking to enable interactive product configuration. Inf. Softw. Technol. 72, 68–89 (2016)CrossRefGoogle Scholar
  16. 16.
    Lu, H., Yue, T., Ali, S., Nie, K., Zhang, L.: Zen-CC: An automated and incremental conformance checking solution to support interactive product configuration. In: Software Reliability Engineering (ISSRE), 2014 IEEE 25th International Symposium on IEEE, pp. 13–22 (2014)Google Scholar
  17. 17.
    Lu, H., Yue, T., Ali, S., Zhang, L.: Nonconformity resolving recommendations for product line configuration. In: IEEE International Conference on Software Testing, Verification and Validation, pp. 57–68 (2016)Google Scholar
  18. 18.
    Nie, K., Yue, T., Ali, S.: Towards a search-based interactive configuration of cyber physical system product lines. In: Demos/Posters/StudentResearch@MoDELS, pp. 71–75 (2013)Google Scholar
  19. 19.
    Yue, T., Ali, S., Lu, H., Nie, K.: Search-based decision ordering to facilitate product line engineering of cyber-physical system. In: International Conference on Model-Driven Engineering and Software Development, pp. 691–703 (2017)Google Scholar
  20. 20.
    Quinton, C., Romero, D., Duchien, L.: Cardinality-based feature models with constraints: a pragmatic approach. In: Proceedings of the 17th International Software Product Line Conference, pp. 162–166. ACM (2013)Google Scholar
  21. 21.
    Hwan, C., Kim, P., Czarnecki, K.: Synchronizing cardinality-based feature models and their specializations. In: European Conference on Model Driven Architecture-Foundations and Applications, pp. 331–348. Springer (2005)Google Scholar
  22. 22.
    UML 2.0 OCL specification, Technical Report, Object Management Group (2004)Google Scholar
  23. 23.
    Nie, K., Yue, T., Ali, S., Zhang, L., Fan, Z.: Constraints: The Core of Supporting Automated Product Configuration of Cyber-Physical Systems. Springer, Berlin, Heidelberg (2013)Google Scholar
  24. 24.
    Safdar, S.A., Lu, H., Yue, T., Ali, S.: Mining cross product line rules with multi-objective search and machine learning. In: The Genetic and Evolutionary Computation Conference, pp. 1319–1326 (2017)Google Scholar
  25. 25.
    The Unified Modeling Language (UML). http://www.uml.org/
  26. 26.
    The UML Profile for MARTE: Modeling and Analysis of Real-Time and Embedded Systems. http://www.omgmarte.org/
  27. 27.
    Documents Associated With Requirements Interchange \(\text{Format}^{{\rm TM}}\) (\(\text{ ReqIF }^{{\rm TM}}\)), 1.1. document formal/2013-10-01. Technical report, OMG (2013)Google Scholar
  28. 28.
    Li, Y., Yue, T., Ali, S., Zhang, L.: Zen-ReqOptimizer: a search-based approach for requirements assignment optimization. Empir. Softw. Eng. 22(1), 175–234 (2016)Google Scholar
  29. 29.
    Gomaa, W.H., Fahmy, A.A.: A survey of text similarity approaches. Int. J. Comput. Appl. 68, 13 (2013)Google Scholar
  30. 30.
    Zhang, H., Wang, S., Yue, T., Ali, S., Liu, C.: Search and similarity based selection of use case scenarios: an empirical study. Empir. Softw. Eng. 1–78 (2017)Google Scholar
  31. 31.
    Bilenko, M., Mooney, R., Cohen, W., Ravikumar, P., Fienberg, S.: Adaptive name matching in information integration. IEEE Intell. Syst. 18(5), 16–23 (2003)CrossRefGoogle Scholar
  32. 32.
    Cohen, W.W., Ravikumar, P.D., Fienberg, S.E.: A comparison of string distance metrics for names and records. In: IIWeb, pp. 73–78 (2003)Google Scholar
  33. 33.
    Niwattanakul, S., Singthongchai, J., Naenudorn, E., Wanapu, S.: Using of Jaccard coefficient for keywords similarity. In: Proceedings of the International Multi-Conference of Engineers and Computer Scientists (2013)Google Scholar
  34. 34.
    Handling System. http://www.mhi.org/
  35. 35.
    Software Product Line Online Tools. http://www.splot-research.org/
  36. 36.
    Neiva, D., De Almeida, F.C., De Almeida, E.S., Meira, S.L.: A requirements engineering process for software product lines. In: Information Reuse and Integration (IRI), 2010 IEEE International Conference on IEEE, pp. 266–269 (2010)Google Scholar
  37. 37.
    Moon, M., Yeom, K., Chae, H.S.: An approach to developing domain requirements as a core asset based on commonality and variability analysis in a product line. Softw. Eng. IEEE Trans. 31(7), 551–569 (2005)CrossRefGoogle Scholar
  38. 38.
    Käkölä, T., Dueñas, J.C.: Software Product Lines: Research Issues in Engineering and Management. Springer, Berlin (2007)Google Scholar
  39. 39.
    Kuusela, J., Savolainen, J.: Requirements engineering for product families. In: Proceedings of the 22nd International Conference on Software Engineering, pp. 61–69. ACM (2000)Google Scholar
  40. 40.
    Niu, N., Easterbrook, S.: Extracting and modeling product line functional requirements. In: International Requirements Engineering, 2008. RE’08. 16th IEEE, pp. 155–164 (2008)Google Scholar
  41. 41.
    Bragança, A., Machado, R.J.: Automating mappings between use case diagrams and feature models for software product lines. In: Software Product Line Conference, 2007. SPLC 2007. 11th International IEEE, pp. 3–12 (2007)Google Scholar
  42. 42.
    Alves, V., Niu, N., Alves, C., Valença, G.: Requirements engineering for software product lines: a systematic literature review. Inf. Softw. Technol. 52(8), 806–820 (2010)CrossRefGoogle Scholar
  43. 43.
    Schmid, K., Krennrich, K., Eisenbarth, M.: Requirements management for product lines: extending professional tools. In: Software Product Line Conference, 2006 10th International IEEE, pp. 10–122 (2006)Google Scholar
  44. 44.
    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 Carnegie Mellon University, pp. 211–220 (2009)Google Scholar
  45. 45.
    Kim, J., Kim, M., Park, S.: Goal and scenario based domain requirements analysis environment. J. Syst. Softw. 79(7), 926–938 (2006)CrossRefGoogle Scholar
  46. 46.
    Blanes, D., Insfran, E.: A comparative study on model-driven requirements engineering for software product lines. Revista de Sistemas e Computação-RSC 2, 1 (2012)Google Scholar
  47. 47.
    Dhungana, D., Grünbacher, P., Rabiser, R.: The DOPLER meta-tool for decision-oriented variability modeling: a multiple case study. Autom. Softw. Eng. 18(1), 77–114 (2011)CrossRefGoogle Scholar
  48. 48.
    Coelho, K., Batista, T.: From Requirements to Architecture for Software Product Lines. In: 2011 Ninth Working IEEE/IFIP Conference on Software Architecture (2011)Google Scholar
  49. 49.
    Netto, D., Silva, C.: Promoting Modularity in a Requirements Engineering Process for Software Product Lines. In: New Advances in Information Systems and Technologies, pp. 599–608. Springer (2016)Google Scholar
  50. 50.
    Iec Functional safety of electrical/electronic/programmable electronic safety-related systems.IEC 61508 (2010)Google Scholar
  51. 51.
    Iso Road vehicles-Functional safety.ISO 26262 (2011)Google Scholar
  52. 52.
    Hoffmann, M., Kühn, N., Weber, M., Bittner, M.: Requirements for requirements management tools. In: Requirements Engineering Conference, 2004. Proceedings. 12th IEEE International IEEE, pp. 301–308 (2004)Google Scholar
  53. 53.
    Diev, S.: Structuring complex requirements. ACM SIGSOFT Softw. Eng. Notes 32(2), 1–5 (2007)Google Scholar
  54. 54.
    Savolainen, J., Vehkomäki, T., Mannion, M.: An integrated model for requirements structuring and architecture design. In: Proceedings of the Seventh Australian Workshop on Requirements Engineering, Melbourne (2002)Google Scholar
  55. 55.
    Klute, S., Refflinghaus, R.: Structuring requirements as necessary premise for customer-oriented development of complex products: A generic approach. J. Ind. Eng. Manag. 4(3), 523–537 (2011)Google Scholar
  56. 56.
    Müller, P., Stark, R.: Detecting and structuring requirements for the development of product-service systems. In: 19th Symposium on Design for X, pp. 1–10 (2008)Google Scholar
  57. 57.
    Bhatia, J., Sharma, R., Biswas, K.K., Ghaisas, S.: Using grammatical knowledge patterns for structuring requirements specifications. In: 2013 IEEE Third International Workshop on Requirements Patterns (RePa) IEEE, pp. 31–34 (2013)Google Scholar
  58. 58.
    Schätz, B., Fleischmann, A., Geisberger, E., Pister, M.: Model-based requirements engineering with AutoRAID. In: GI Jahrestagung (2) Citeseer, pp. 511–515 (2005)Google Scholar
  59. 59.
    Moon, M., Chae, H.S., Yeom, K.: A metamodel approach to architecture variability in a product line. In: Reuse of Off-the-Shelf Components, pp. 115–126. Springer (2006)Google Scholar
  60. 60.
    Yue, T., Ali, S., Descour, A., Gan, Q., Liaaen, M., Merkesvik, G.M., Nielsen, B.K., Nygard, J., Olafsen, B.O., Waal, A.L.: Exploring model-based repositories for a broad range of industrial applications and challenges. In: Quality Software (QSIC), 2014 14th International Conference on IEEE, pp. 37–46 (2014)Google Scholar
  61. 61.
    Lempia, D.L., Miller, S.P.: Requirements engineering management handbook. National Technical Information Service (NTIS) 1 (2009)Google Scholar
  62. 62.
    Boyd Jr, J.A.: Allocation of reliability requirements: a new approach. In: Reliability and Maintainability Symposium, 1992. Proceedings, Annual IEEE, pp. 5–6 (1992)Google Scholar
  63. 63.
    Vintr, Z., Holub, R.: R&M requirements allocation in upgrading a system. In: Reliability and Maintainability Symposium, 2001. Proceedings of Annual IEEE, pp. 258–263 (2001)Google Scholar
  64. 64.
    Flanigan, D., Brouse, P.: System of systems requirements capacity allocation. Procedia Comput. Sci. 8, 112–117 (2012)CrossRefGoogle Scholar
  65. 65.
    Luman, R.R.: Integrating cost and performance models to determine requirements allocation for complex systems. Johns Hopkins APL Tech. Digest 21(3), 408–425 (2000)Google Scholar
  66. 66.
    Dag, J.N.O., Regnell, B., Gervasi, V., Brinkkemper, S.: A linguistic-engineering approach to large-scale requirements management. IEEE Softw. 22(1), 32–39 (2005)CrossRefGoogle Scholar
  67. 67.
    Herrera, J., Macia, I., Salas, P., Pinho, R., Vargas, R., Garcia, A., Araújo, J., Breitman, K.: Revealing crosscutting concerns in textual requirements documents: an exploratory study with industry systems. In: Software Engineering (SBES), 2012 26th Brazilian Symposium on IEEE, pp. 111–120 (2012)Google Scholar
  68. 68.
    Chantree, F., Nuseibeh, B., De Roeck, A., Willis, A.: Identifying nocuous ambiguities in natural language requirements. In: 14th IEEE International Requirements Engineering Conference (RE’06) IEEE, pp. 59–68 (2006)Google Scholar
  69. 69.
    Shah, U.S., Jinwala, D.C.: Resolving ambiguities in natural language software requirements: a comprehensive survey. ACM SIGSOFT Softw. Eng. Notes 40(5), 1–7 (2015)CrossRefGoogle Scholar
  70. 70.
    Yang, H., De Roeck, A., Gervasi, V., Willis, A., Nuseibeh, B.: Extending nocuous ambiguity analysis for anaphora in natural language requirements. In: 2010 18th IEEE International Requirements Engineering Conference IEEE, pp. 25–34 (2010)Google Scholar
  71. 71.
    Yue, T., Briand, L.C., Labiche, Y.: Facilitating the transition from use case models to analysis models: approach and experiments. ACM Trans. Softw. Eng. Methodol. (TOSEM) 22(1), 5 (2013)CrossRefGoogle Scholar
  72. 72.
    Yue, T., Briand, L.C., Labiche, Y.: aToucan: an automated framework to derive UML analysis models from use case models. ACM Trans. Softw. Eng. Methodol. (TOSEM) 24(3), 13 (2015)CrossRefGoogle Scholar
  73. 73.
    Harmain, H.M., Gaizauskas, R.: CM-Builder: An automated NL-based CASE tool. In: Automated Software Engineering, 2000. Proceedings ASE 2000. The Fifteenth IEEE International Conference on IEEE, pp. 45–53 (2000)Google Scholar
  74. 74.
    Hasegawa, R., Kitamura, M., Kaiya, H., Saeki, M.: Extracting conceptual graphs from Japanese documents for software requirements modeling. In: Proceedings of the Sixth Asia-Pacific Conference on Conceptual Modeling-Volume 96 Australian Computer Society, Inc., pp. 87–96 (2009)Google Scholar
  75. 75.
    Dawood, O.S.: From requirements engineering to UML using Natural Language Processing-Survey Study. Eur. J. Eng. Res. Sci. 2(1), 44–50 (2017)CrossRefGoogle Scholar
  76. 76.
    Deeptimahanti, D.K., Babar, M.A.: An automated tool for generating UML Models from natural language requirements. In: IEEE/ACM International Conference on Automated Software Engineering, pp. 680–682 (2009)Google Scholar
  77. 77.
    Kamarudin, N.J., Sani, N.F.M., Atan, R.: Automated transformation approach from user requirement to behavior design. J Theor Appl Inf Technol 81(1), 73 (2015)Google Scholar
  78. 78.
    Deeptimahanti, D.K., Sanyal, R.: An Innovative Approach for Generating Static UML Models from Natural Language Requirements. Springer, Berlin, Heidelberg (2009)CrossRefGoogle Scholar
  79. 79.
    Gulia, S., Choudhury, T.: An efficient automated design to generate UML diagram from Natural Language Specifications. In: International Conference—Cloud System and Big Data Engineering, pp. 641–648 (2016)Google Scholar
  80. 80.
    Sharma, R., Gulia, S., Biswas, K.K.: Automated generation of activity and sequence diagrams from natural language requirements. In: International Conference on Evaluation of Novel Approaches To Software Engineering, pp. 1–9 (2014)Google Scholar
  81. 81.
    Sundaram, S.K., Hayes, J.H., Dekhtyar, A., Holbrook, E.A.: Assessing traceability of software engineering artifacts. Requir. Eng. 15(3), 313–335 (2010)CrossRefGoogle Scholar
  82. 82.
    Duan, C., Cleland-Huang, J.: Clustering support for automated tracing. In: IEEE/ACM International Conference on Automated Software Engineering, pp. 244–253 (2007)Google Scholar
  83. 83.
    Marcus, A., Maletic, J.I.: Recovering documentation-to-source-code traceability links using latent semantic indexing. In: Proceedings of the 25th International Conference on Software Engineering (2003), pp. 125–135 (2003)Google Scholar
  84. 84.
    Uusitalo, E.J., Komssi, M., Kauppinen, M., Davis, A.M.: Linking requirements and testing in practice. IEEE International Requirements Engineering Conference, RE 2008, 8–12 September 2008, pp. 265–270. Catalunya, Spain, Barcelona (2008)Google Scholar
  85. 85.
    Falessi, D., Cantone, G., Canfora, G.: Empirical principles and an industrial case study in retrieving equivalent requirements via natural language processing techniques. IEEE Trans. Software Eng. 39(1), 18–44 (2013)CrossRefGoogle Scholar
  86. 86.
    Arellano, A., Carney, E., Austin, M.A.: Natural Language Processing of Textual Requirements. In: The Tenth International Conference on Systems (ICONS 2015), Barcelona, Spain, pp. 93–97 (2015)Google Scholar
  87. 87.
    Barker, K., Cornacchia, N.: Using noun phrase heads to extract document keyphrases. In: Advances in Artificial Intelligence, pp. 40–52. Springer (2000)Google Scholar
  88. 88.
    Yue, T., Briand, L.C., Labiche, Y.: An automated approach to transform use cases into activity diagrams. In: Modelling Foundations and Applications, pp. 337–353. Springer (2010)Google Scholar
  89. 89.
    De Marneffe, M.-C., Manning, C.D.: The Stanford typed dependencies representation. In: Coling 2008: Proceedings of the Workshop on Cross-Framework and Cross-Domain Parser Evaluation Association for Computational Linguistics, pp. 1–8 (2008)Google Scholar
  90. 90.
  91. 91.
    Andrews, A.: The major functions of the noun phrase. In: T. Shopen (ed.) Language Typology and Syntactic Description, pp. 64–154. Cambridge University Press, Cambridge (2007)Google Scholar
  92. 92.
  93. 93.
    29148-2011, I.I.I.S., 2011. Systems and Software Engineering—Life Cycle Processes—Requirements EngineeringGoogle Scholar
  94. 94.
    Valdes, A., Skinner, K.: Probabilistic alert correlation. In: International Workshop on Recent Advances in Intrusion Detection, pp. 54–68. Springer (2001)Google Scholar
  95. 95.
    ProR Requirements Engineering Platform. http://www.eclipse.org/rmf/pror/
  96. 96.
    Mendonca, M., Wąsowski, A., Czarnecki, K.: SAT-based analysis of feature models is easy. In: Proceedings of the 13th International Software Product Line Conference Carnegie Mellon University, pp. 231–240 (2009)Google Scholar
  97. 97.
    Rubin, D.L., Noy, N.F., Musen, M.A.: Protege: a tool for managing and using terminology in radiology applications. J. Digit. Imaging 20(1), 34–46 (2007)CrossRefGoogle Scholar
  98. 98.
    Rudolph, S., Völker, J., Hitzler, P.: Supporting lexical ontology learning by relational exploration, pp. 488–491. Knowledge Architectures for Smart Applications, Conceptual Structures (2007)Google Scholar
  99. 99.
    Society, I.C., 2014. 730-2014 - IEEE Standard for Software Quality Assurance ProcessesGoogle Scholar
  100. 100.
    Al Faruque, M.A., Ahourai, F.: A model-based design of cyber-physical energy systems. In: Design Automation Conference (ASP-DAC). 2014 19th Asia and South Pacific IEEE, pp. 97–104 (2014)Google Scholar
  101. 101.
    Kapos, G.-D., Dalakas, V., Tsadimas, A., Nikolaidou, M., Anagnostopoulos, D.: Model-based system engineering using SysML: Deriving executable simulation models with QVT. In: Systems Conference (SysCon), 2014 8th Annual IEEE IEEE, pp. 531–538 (2014)Google Scholar
  102. 102.
    Chen, D., Manning, C.D.: A Fast and Accurate Dependency Parser using Neural Networks. In: EMNLP, 740–750 (2014)Google Scholar
  103. 103.
    Variant Management with Pure: Consul. Technical White Paper Report. Pure-systems GmbHGoogle Scholar
  104. 104.
    Eclipse Modeling Framework. https://www.eclipse.org/modeling/emf/
  105. 105.
    Sayyad, A.S., Ammar, H., Menzies, T.: Software feature model recommendations using data mining. In: 2012 Third International Workshop on Recommendation Systems for Software Engineering (RSSE) IEEE, pp. 47–51 (2012)Google Scholar
  106. 106.
    Cohen, W., Ravikumar, P., Fienberg, S.: Secondstring: An open source java toolkit of approximate string-matching techniques. Project web page: http://secondstring.sourceforge.net (2003)
  107. 107.
  108. 108.
  109. 109.
    Le Berre, D., Parrain, A.: The sat4j library, release 2.2, system description. J. Satisf. Boolean Model. Comput. 7, 59–64 (2010)Google Scholar
  110. 110.
    Carner, P.: Project Domus: Designing Effective Smart Home Systems. B.Sc. in Information Systems and Information Technology (DT249) to the School of Computing, Faculty of Science, Dublin Institute of Technology (2009)Google Scholar
  111. 111.
    Bai, Y., Bai, Q.: Subsea Engineering Handbook. Gulf Professional Publishing, Houston (2012)Google Scholar
  112. 112.
    Blossom, A., Gebhard, D., Emelander, S., Meyer, R.: Software Requirements Specification (SRS) Book E-Commerce System (BECS)Google Scholar
  113. 113.
  114. 114.
  115. 115.
    Powers, D.M.: Evaluation: from precision, recall and F-measure to ROC, informedness, markedness and correlation. J. Mach. Learn. Technol. 2, 2229–3981 (2011)Google Scholar
  116. 116.
    Claes, W., Per, R., Martin, H., Magnus, C., Björn, R., Wesslén, A.: Experimentation in software engineering: an introduction. Online Available: http://books.google.com/books (2000)
  117. 117.
    Baeza-Yates, R.A., Ribeiro-Neto, B.: Modern Information Retrieval. Addison Wesley, Boston (2011)Google Scholar
  118. 118.
    Metzger, A., Pohl, K.: Software product line engineering and variability management: achievements and challenges. In: Proceedings of the on Future of Software Engineering, pp. 70–84. ACM (2014)Google Scholar
  119. 119.
    Jastram, M.: ProR, an open source platform for requirements engineering based on RIF. In: Systems Engineering Infrastructure Conference (2010)Google Scholar
  120. 120.
    Berger, T., Rublack, R., Nair, D., Atlee, J.M., Becker, M., Czarnecki, K., Wąsowski, A.: A survey of variability modeling in industrial practice. In: Proceedings of the Seventh International Workshop on Variability Modelling of Software-intensive Systems ACM, 7 (2013)Google Scholar
  121. 121.
    Czarnecki, K., Bednasch, T., Unger, P., Eisenecker, U.: Generative programming for embedded software: An industrial experience report. In: International Conference on Generative Programming and Component Engineering, pp. 156–172. Springer (2002)Google Scholar

Copyright information

© Springer-Verlag GmbH Germany, part of Springer Nature 2017

Authors and Affiliations

  1. 1.State Key Laboratory of Software Development EnvironmentBeihang UniversityBeijingChina
  2. 2.Simula Research LaboratoryOsloNorway

Personalised recommendations