Advertisement

Requirements Engineering

, Volume 20, Issue 3, pp 253–280 | Cite as

Leveraging topic modeling and part-of-speech tagging to support combinational creativity in requirements engineering

  • Tanmay Bhowmik
  • Nan Niu
  • Juha Savolainen
  • Anas Mahmoud
RE 2014

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 .

Keywords

Requirements identification Creativity Stakeholders’ social network Social clusters Topic modeling Part-of-speech tagging 

References

  1. 1.
    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–1088Google Scholar
  2. 2.
    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–66Google Scholar
  3. 3.
    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–641Google Scholar
  4. 4.
    Sternberg RJ (1999) Handbook of creativity. Cambridge University Press, CambridgeGoogle Scholar
  5. 5.
    Boden MA (2003) The creative mind: Myths and mechanisms. Routledge, LondonGoogle Scholar
  6. 6.
    Maiden N, Gizikis A, Robertson S (2004) Provoking creativity: imagine what your requirements could be like. IEEE Softw 21(5):68–75CrossRefGoogle Scholar
  7. 7.
    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–122Google Scholar
  8. 8.
    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–114Google Scholar
  9. 9.
    Karlsen IK, Maiden N, Kerne A (2009) Inventing requirements with creativity support tools. In: Requirements engineering: foundation for software quality. Springer, Berlin, pp 162–174Google Scholar
  10. 10.
    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–154Google Scholar
  11. 11.
    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–1752CrossRefGoogle Scholar
  12. 12.
    Maiden N (2013) Requirements engineering as information search and idea discovery (keynote). In: Proceedings of the international requirements engineering conference (RE), pp 1–1Google Scholar
  13. 13.
    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–252Google Scholar
  14. 14.
    Burt RS (2004) Structural holes and good ideas. Am J Sociol 110(2):349–399CrossRefGoogle Scholar
  15. 15.
    Pirolli P (2009) An elementary social information foraging model. In: Proceedings of the SIGCHI conference on human factors in computing systems (CHI), pp 605–614Google Scholar
  16. 16.
    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–818Google Scholar
  17. 17.
    Blei D, Ng A, Jordan M (2003) Latent Dirichlet Allocation. J Mach Learn Res 3:993–1022zbMATHGoogle Scholar
  18. 18.
    Brill E (1992) A simple rule-based part of speech tagger. In: Proceedings of the workshop on speech and natural language, pp 112–116Google Scholar
  19. 19.
    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–168Google Scholar
  20. 20.
    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–567CrossRefGoogle Scholar
  21. 21.
    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–151Google Scholar
  22. 22.
    Ritchie G (2001) Assessing creativity. In: Proceedings of the AISB-01 symposium on AI and creativity in arts and science, pp 3–11Google Scholar
  23. 23.
    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–32Google Scholar
  24. 24.
    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–54CrossRefGoogle Scholar
  25. 25.
    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–251Google Scholar
  26. 26.
    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–181Google Scholar
  27. 27.
    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–105Google Scholar
  28. 28.
    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–186CrossRefGoogle Scholar
  29. 29.
    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–163Google Scholar
  30. 30.
    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–10Google Scholar
  31. 31.
    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–68Google Scholar
  32. 32.
    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–134Google Scholar
  33. 33.
    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–33Google Scholar
  34. 34.
    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–11Google Scholar
  35. 35.
    Asuncion H, Asuncion A, Taylor R (2010) Software traceability with topic modeling. In: Proceedings of the international conference on software engineering (ICSE), pp 95–104Google Scholar
  36. 36.
    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–464Google Scholar
  37. 37.
    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–64Google Scholar
  38. 38.
    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–577Google Scholar
  39. 39.
    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–336MathSciNetCrossRefGoogle Scholar
  40. 40.
    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)Google Scholar
  41. 41.
    Wu J (2012) Advances in K-means clustering: a data mining thinking. Springer, BerlinCrossRefGoogle Scholar
  42. 42.
    Borgatti SP, Everett MG, Freeman LC (2002) Ucinet for windows: software for social network analysis. Analytic TechnologiesGoogle Scholar
  43. 43.
    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–362Google Scholar
  44. 44.
    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–296Google Scholar
  45. 45.
    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–88Google Scholar
  46. 46.
    Niu N, Easterbrook S (2008) Extracting and modeling product line functional requirements. In: Proceedings of the international requirements engineering conference (RE), pp 155–164Google Scholar
  47. 47.
    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–88Google Scholar
  48. 48.
    Hill E (2010) Integrating natural language and program structure information to improve software search and exploration. PhD. Thesis, University of DelawareGoogle Scholar
  49. 49.
    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–12Google Scholar
  50. 50.
    Manning CD, Raghavan P, Schütze H (2008) Introduction to information retrieval, vol 1. Cambridge University Press, CambridgeCrossRefzbMATHGoogle Scholar
  51. 51.
    Ernst NA, Murphy GC (2012) Case studies in just-in-time requirements analysis. In: IEEE international workshop on empirical requirements engineering, pp 25–32Google Scholar
  52. 52.
    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–260Google Scholar
  53. 53.
    Liu H, Gao Y, Niu Z (2012) An initial study on refactoring tactics. In: Annual international computers, software & applications conference, pp 213–218Google Scholar
  54. 54.
    Scacchi W (2002) Understanding the requirements for developing open source software systems. IEE Softw 149(1):24–39CrossRefGoogle Scholar
  55. 55.
    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–142Google Scholar
  56. 56.
    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–102Google Scholar
  57. 57.
    Griffiths TL, Steyvers M (2004) Finding scientific topics. In: Proceedings of the national academy of sciences of the United States of America, pp 5228–5235Google Scholar
  58. 58.
    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–224Google Scholar
  59. 59.
    Paulus PB, Nijstad BA (2003) Group creativity: innovation through collaboration. Oxford University Press, OxfordCrossRefGoogle Scholar
  60. 60.
    Montgomery D, Runger G (2010) Applied statistics and probability for engineers. Wiley, New YorkGoogle Scholar
  61. 61.
    Yin RK (2008) Case study research: design and methods, vol 5. Sage, LondonGoogle Scholar
  62. 62.
    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–35Google Scholar
  63. 63.
    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–90Google Scholar
  64. 64.
    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–157Google Scholar

Copyright information

© Springer-Verlag London 2015

Authors and Affiliations

  • Tanmay Bhowmik
    • 1
  • Nan Niu
    • 2
  • Juha Savolainen
    • 3
  • Anas Mahmoud
    • 4
  1. 1.Mississippi State UniversityMississippi StateUSA
  2. 2.University of CincinnatiCincinnatiUSA
  3. 3.Danfoss Power Electronics A/SSydjyllandDenmark
  4. 4.Louisiana State UniversityBaton RougeUSA

Personalised recommendations