Abstract
Requirements engineering (RE), framed as a creative problem solving process, plays a key role in innovating more useful and novel requirements and improving a software system’s sustainability. Existing approaches, such as creativity workshops and feature mining from web services, facilitate creativity by exploring a search space of partial and complete possibilities of requirements . To further advance the literature, we study creativity from a combinational perspective, i.e., making unfamiliar connections between familiar possibilities of requirements. In particular, we propose a novel framework that extracts familiar ideas from the requirements and stakeholders’ comments using topic modeling, and automatically generates requirements by obtaining unfamiliar idea combinations by means of flipping the part-of-speech of identified topics. We apply our framework on two large-scale open-source software systems (Firefox and Mylyn) and report two studies to assess the viability of combinational creativity in RE. The results show that the creativity merit of requirements generated by our framework judged by human experts is comparable to that of requirements created manually. Meanwhile, the cost of our framework is significantly less than manual work, measured by time spent generating requirements. Our work illuminates a possible improvement toward interactive generation of creative requirements using mechanism’s outputs .
Similar content being viewed by others
Notes
The participants have not mentioned anything about NFR indicators. We identified this strategy while analyzing the requirements they generated.
References
Lemos J, Alves C, Duboc L, Rodrigues GN (2012) A systematic mapping study on creativity in requirements engineering. In: Proceedings of the annual ACM symposium on applied computing (SAC), pp 1083–1088
Maiden N, Jones S, Karlsen K, Neill R, Zachos K, Milne A (2010) Requirements engineering as creative problem solving: a research agenda for idea finding. In: Proceedings of the international requirements engineering conference (RE), pp 57–66
Maiden N, Ncube C, Robertson S (2007) Can requirements be creative? Experiences with an enhanced air space management system. In: Proceedings of the international conference on software engineering (ICSE), pp 632–641
Sternberg RJ (1999) Handbook of creativity. Cambridge University Press, Cambridge
Boden MA (2003) The creative mind: Myths and mechanisms. Routledge, London
Maiden N, Gizikis A, Robertson S (2004) Provoking creativity: imagine what your requirements could be like. IEEE Softw 21(5):68–75
Maiden N, Manning S, Robertson S, Greenwood J (2004) Integrating creativity workshops into structured requirements processes. In: Proceedings of the ACM conference on designing interactive systems: processes, practices, methods, and techniques, pp 113–122
Maiden N, Robertson S (2005) Integrating creativity into requirements processes: experiences with an air traffic management system. In: Proceedings of the international requirements engineering conference (RE), pp 105–114
Karlsen IK, Maiden N, Kerne A (2009) Inventing requirements with creativity support tools. In: Requirements engineering: foundation for software quality. Springer, Berlin, pp 162–174
Zachos K, Maiden N (2008) Inventing requirements from software: an empirical investigation with web services. In: Proceedings of the international requirements engineering conference (RE), pp 145–154
Hariri N, Castro-Herrera C, Mirakhorli M, Cleland-Huang J, Mobasher B (2013) Supporting domain analysis through mining and recommending features from online product listings. IEEE Trans Softw Eng 39(12):1736–1752
Maiden N (2013) Requirements engineering as information search and idea discovery (keynote). In: Proceedings of the international requirements engineering conference (RE), pp 1–1
Bhowmik T, Niu N, Mahmoud A, Savolainen J (2014) Automated support for combinational creativity in requirements engineering. In: Proceedings of the international requirements engineering conference (RE), pp 243–252
Burt RS (2004) Structural holes and good ideas. Am J Sociol 110(2):349–399
Pirolli P (2009) An elementary social information foraging model. In: Proceedings of the SIGCHI conference on human factors in computing systems (CHI), pp 605–614
Linstead E, Lopes C, Baldi P (2008) An application of Latent Dirichlet Allocation to analyzing software evolution. In: Proceedings of the international conference on machine learning and applications (ICMLA), pp 813–818
Blei D, Ng A, Jordan M (2003) Latent Dirichlet Allocation. J Mach Learn Res 3:993–1022
Brill E (1992) A simple rule-based part of speech tagger. In: Proceedings of the workshop on speech and natural language, pp 112–116
Kersten M, Murphy G (2005) Mylar: a degree-of-interest model for ides. In: Proceedings of the international conference on aspect-oriented software development (AOSD), pp 159–168
Suwa M, Gero J, Purcell T (2000) Unexpected discoveries and S-invention of design requirements: important vehicles for a design process. Des Stud 21(6):539–567
Maher ML, Brady K, Fisher DH (2013) Computational models of surprise in evaluating creative design. In: Proceedings of the international conference on computational creativity (ICCC), pp 147–151
Ritchie G (2001) Assessing creativity. In: Proceedings of the AISB-01 symposium on AI and creativity in arts and science, pp 3–11
Nöbauer M, Seyff N, Maiden N, Zachos K (2011) S3c: using service discovery to support requirements elicitation in the erp domain. In: Proceedings of the international conference on advanced information systems engineering, pp 18–32
Lutz R, Patterson-Hine A, Nelson S, Frost CR, Tal D, Harris R (2007) Using obstacle analysis to identify contingency requirements on an unpiloted aerial vehicle. Requir Eng J 12(1):41–54
Salinesi C, Mazo R, Diaz D, Djebbi O (2010) Using integer constraint solving in reuse based requirements engineering. In: Proceedings of the international requirements engineering conference (RE), pp 243–251
Fuxman A, Pistore M, Mylopoulos J, Traverso P (2001) Model checking early requirements specifications in tropos. In: Proceedings of the international requirements engineering conference (RE), pp 174–181
Sakhnini V, Berry DM, Mich L (2010) Validation of the effectiveness of an optimized epmcreate as an aid for creative requirements elicitation. In: Proceedings of the 16th international working conference on requirements engineering: foundation for software quality, pp 91–105
Sakhnini V, Mich L, Berry DM (2012) The effectiveness of an optimized epmcreate as a creativity enhancement technique for web site requirements elicitation. Requir Eng 17(3):171–186
Lefons E, Pazienza M, Silvestri A, Tangorra F, Corfiati L, De Giacomo P (1977) An algebraic model for systems of psychically interacting subjects. In: Proceedings of the IFAC workshop information & systems, pp 155–163
Mahaux M, Nguyen L, Gotel O, Mich L, Mavin A, Schmid K (2013) Collaborative creativity in requirements engineering: analysis and practical advice. In: Proceedings of the international conference on research challenges in information science (RCIS), pp 1–10
Damian D, Marczak S, Kwan I (2007) Collaboration patterns and the impact of distance on awareness in requirements-centred social networks. In: Proceedings of the international requirements engineering conference (RE), pp 59–68
Begel A, Khoo Y, Zimmermann T (2010) Codebook: discovering and exploiting relationships in software repositories. In: Proceedings of the international conference on software engineering (ICSE), pp 125–134
Sarma A, Maccherone L, Wagstrom P, Herbsleb J (2009) Tesseract: interactive visual exploration of socio-technical relationships in software development. In: Proceedings of the international conference on software engineering (ICSE), pp 23–33
Wolf T, Schroter A, Damian D, Nguyen T (2009) Predicting build failures using social network analysis on developer communication. In: Proceedings of the international conference on software engineering (ICSE), pp 1–11
Asuncion H, Asuncion A, Taylor R (2010) Software traceability with topic modeling. In: Proceedings of the international conference on software engineering (ICSE), pp 95–104
Linstead E, Rigor P, Bajracharya S, Lopes C, Baldi P (2007) Mining concepts from code with probabilistic topic models. In: Proceedings of the international conference on automated software engineering (ASE), pp 461–464
Thomas S, Adams B, Hassan A, Blostein D (2010) Validating the use of topic models for software evolution. In: Proceedings of the IEEE working conference on source code analysis and manipulation (SCAM), pp 55–64
Porteous I, Newman D, Ihler A, Asuncion A, Smyth P, Welling M (2008) Fast collapsed gibbs sampling for Latent Dirichlet Allocation. In: Proceedings of the ACM SIGKDD international conference on knowledge discovery and data mining, pp 569–577
Linstead E, Bajracharya S, Ngo T, Rigor P, Lopes C, Baldi P (2009) Sourcerer: mining and searching internet-scale software repositories. Data Mining Knowl Discov 18(2):300–336
Linstead E, Rigor P, Bajracharya SK, Lopes CV, Baldi P (2007) Mining internet-scale software repositories. In: Proceedings of the neural information processing systems (NIPS)
Wu J (2012) Advances in K-means clustering: a data mining thinking. Springer, Berlin
Borgatti SP, Everett MG, Freeman LC (2002) Ucinet for windows: software for social network analysis. Analytic Technologies
Bastian M, Heymann S, Jacomy M (2009) Gephi: an open source software for exploring and manipulating networks. In: Proceedings of the international conference on weblogs and social media (ICWSM), pp 361–362
Chang J, Boyd-Graber JL, Gerrish S, Wang C, Blei DM (2009) Reading tea leaves: how humans interpret topic models. In: Proceedings of the neural information processing systems (NIPS), vol 22, pp 288–296
Liaskos S, Lapouchnian A, Yu Y, Yu E, Mylopoulos J (2006) On goal-based variability acquisition and analysis. In: Proceedings of the international conference on requirements engineering (RE), pp 79–88
Niu N, Easterbrook S (2008) Extracting and modeling product line functional requirements. In: Proceedings of the international requirements engineering conference (RE), pp 155–164
Fillmore C (1968) The case for case. In: Bach E, Harms R (eds) Universals in linguistic theory. Holt, Rinehart and Winston, New York, pp 1–88
Hill E (2010) Integrating natural language and program structure information to improve software search and exploration. PhD. Thesis, University of Delaware
Gupta S, Malik S, Pollock L, Vijay-Shanker K (2013) Part-of-speech tagging of program identifiers for improved text-based software engineering tools. In: Proceedings of the international conference on program comprehension (ICPC), pp 3–12
Manning CD, Raghavan P, Schütze H (2008) Introduction to information retrieval, vol 1. Cambridge University Press, Cambridge
Ernst NA, Murphy GC (2012) Case studies in just-in-time requirements analysis. In: IEEE international workshop on empirical requirements engineering, pp 25–32
Knauss E, Damian D, Poo-Caamano G, Cleland-Huang J (2012) Detecting and classifying patterns of requirements clarifications. In: Proceedings of the IEEE international requirements engineering conference (RE), pp 251–260
Liu H, Gao Y, Niu Z (2012) An initial study on refactoring tactics. In: Annual international computers, software & applications conference, pp 213–218
Scacchi W (2002) Understanding the requirements for developing open source software systems. IEE Softw 149(1):24–39
Niu N, Bhowmik T, Liu H, Niu Z (2014) Traceability-enabled refactoring for managing just-in-time requirements. In: Proceedings of the IEEE international requirements engineering conference (RE), pp 133–142
Zaman S, Adams B, Hassan AE (2011) Security versus performance bugs: a case study on firefox. In: Proceedings of the working conference on mining software repositories (MSR), pp 93–102
Griffiths TL, Steyvers M (2004) Finding scientific topics. In: Proceedings of the national academy of sciences of the United States of America, pp 5228–5235
Niu N, Savolainen J, Bhowmik T, Mahmoud A, Reddivari S (2012) A framework for examining topical locality in object-oriented software. In: Proceedings of the annual computer software and applications conference (COMPSAC), pp 219–224
Paulus PB, Nijstad BA (2003) Group creativity: innovation through collaboration. Oxford University Press, Oxford
Montgomery D, Runger G (2010) Applied statistics and probability for engineers. Wiley, New York
Yin RK (2008) Case study research: design and methods, vol 5. Sage, London
Bird C, Pattison D, D’Souza R, Filkov V, Devanbu P (2008) Latent social structure in open source projects. In: Proceedings of the ACM SIGSOFT international symposium on foundations of software engineering (SIGSOFT/FSE), pp 24–35
Niu N, Mahmoud A (2012) Enhancing candidate link generation for requirements tracing: the cluster hypothesis revisited. In: Proceedings of the international requirements engineering conference (RE), pp 81–90
Popescu A-M, Etzioni O, Kautz H (2003) Towards a theory of natural language interfaces to databases. In: Proceedings of the 8th international conference on intelligent user interfaces, pp 149–157
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
About this article
Cite this article
Bhowmik, T., Niu, N., Savolainen, J. et al. Leveraging topic modeling and part-of-speech tagging to support combinational creativity in requirements engineering. Requirements Eng 20, 253–280 (2015). https://doi.org/10.1007/s00766-015-0226-2
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s00766-015-0226-2