Automated support for combinational creativity in requirements engineering

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 support 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 applies part-of-speech tagging to obtain unfamiliar idea combinations. We apply our framework on two large open source software systems and further report a human subject evaluation. The results show that our framework complements existing approaches by generating original and relevant requirements in an automated manner.

[1]  Neil A. M. Maiden,et al.  Integrating creativity workshops into structured requirements processes , 2004, DIS '04.

[2]  Neil A. M. Maiden,et al.  Inventing Requirements from Software: An Empirical Investigation with Web Services , 2008, 2008 16th IEEE International Requirements Engineering Conference.

[3]  Neil A. M. Maiden,et al.  Can Requirements Be Creative? Experiences with an Enhanced Air Space Management System , 2007, 29th International Conference on Software Engineering (ICSE'07).

[4]  Sara Jones,et al.  Requirements Engineering as Creative Problem Solving: A Research Agenda for Idea Finding , 2010, 2010 18th IEEE International Requirements Engineering Conference.

[5]  Junjie Wu,et al.  Advances in K-means clustering: a data mining thinking , 2012 .

[6]  Charles J. Fillmore,et al.  THE CASE FOR CASE. , 1967 .

[7]  Andrew Begel,et al.  Codebook: discovering and exploiting relationships in software repositories , 2010, 2010 ACM/IEEE 32nd International Conference on Software Engineering.

[8]  Juha Savolainen,et al.  A Framework for Examining Topical Locality in Object-Oriented Software , 2012, 2012 IEEE 36th Annual Computer Software and Applications Conference.

[9]  Nan Niu,et al.  Extracting and Modeling Product Line Functional Requirements , 2008, 2008 16th IEEE International Requirements Engineering Conference.

[10]  Sushil Krishna Bajracharya,et al.  Mining concepts from code with probabilistic topic models , 2007, ASE.

[11]  Neil A. M. Maiden Requirements engineering as information search and idea discovery (keynote) , 2013, RE.

[12]  Jane Cleland-Huang,et al.  Supporting Domain Analysis through Mining and Recommending Features from Online Product Listings , 2013, IEEE Transactions on Software Engineering.

[13]  Eric Brill,et al.  A Simple Rule-Based Part of Speech Tagger , 1992, HLT.

[14]  Daniela E. Damian,et al.  Collaboration Patterns and the Impact of Distance on Awareness in Requirements-Centred Social Networks , 2007, 15th IEEE International Requirements Engineering Conference (RE 2007).

[15]  Mathieu Bastian,et al.  Gephi: An Open Source Software for Exploring and Manipulating Networks , 2009, ICWSM.

[16]  Mark Steyvers,et al.  Finding scientific topics , 2004, Proceedings of the National Academy of Sciences of the United States of America.

[17]  Neil A. M. Maiden,et al.  Integrating creativity into requirements processes: experiences with an air traffic management system , 2005, 13th IEEE International Conference on Requirements Engineering (RE'05).

[18]  Luisa Mich,et al.  Collaborative creativity in requirements engineering: Analysis and practical advice , 2013, IEEE 7th International Conference on Research Challenges in Information Science (RCIS).

[19]  Michael I. Jordan,et al.  Latent Dirichlet Allocation , 2001, J. Mach. Learn. Res..

[20]  Sushil Krishna Bajracharya,et al.  Sourcerer: mining and searching internet-scale software repositories , 2008, Data Mining and Knowledge Discovery.

[21]  Daniel Diaz,et al.  Using Integer Constraint Solving in Reuse Based Requirements Engineering , 2010, 2010 18th IEEE International Requirements Engineering Conference.

[22]  Anita Sarma,et al.  Tesseract: Interactive visual exploration of socio-technical relationships in software development , 2009, 2009 IEEE 31st International Conference on Software Engineering.

[23]  Cristina V. Lopes,et al.  An Application of Latent Dirichlet Allocation to Analyzing Software Evolution , 2008, 2008 Seventh International Conference on Machine Learning and Applications.

[24]  R. Sternberg Handbook of Creativity: Subject Index , 1998 .

[25]  Neil A. M. Maiden,et al.  Provoking Creativity: Imagine What Your Requirements Could Be Like , 2004, IEEE Softw..

[26]  Sushil Krishna Bajracharya,et al.  Mining Internet-Scale Software Repositories , 2007, NIPS.

[27]  Max Welling,et al.  Fast collapsed gibbs sampling for latent dirichlet allocation , 2008, KDD.

[28]  R. Burt Structural Holes and Good Ideas1 , 2004, American Journal of Sociology.

[29]  Mik Kersten,et al.  Mylar: a degree-of-interest model for IDEs , 2005, AOSD '05.

[30]  Lori Pollock,et al.  Integrating natural language and program structure information to improve software search and exploration , 2010 .

[31]  Jeffrey C. Carver,et al.  Part-of-speech tagging of program identifiers for improved text-based software engineering tools , 2013, 2013 21st International Conference on Program Comprehension (ICPC).

[32]  Nan Niu,et al.  Enhancing candidate link generation for requirements tracing: The cluster hypothesis revisited , 2012, 2012 20th IEEE International Requirements Engineering Conference (RE).

[33]  Hinrich Schütze,et al.  Introduction to information retrieval , 2008 .

[34]  Terri Gullickson The Creative Mind: Myths and Mechanisms. , 1995 .

[35]  Marco Pistore,et al.  Model checking early requirements specifications in Tropos , 2001, Proceedings Fifth IEEE International Symposium on Requirements Engineering.

[36]  Yijun Yu,et al.  On Goal-based Variability Acquisition and Analysis , 2006, 14th IEEE International Requirements Engineering Conference (RE'06).

[37]  Robyn R. Lutz,et al.  Using obstacle analysis to identify contingency requirements on an unpiloted aerial vehicle , 2006, Requirements Engineering.

[38]  Genaína Nunes Rodrigues,et al.  A systematic mapping study on creativity in requirements engineering , 2012, SAC '12.

[39]  G. Ritchie Assessing Creativity , 2001 .

[40]  Junjie Wu,et al.  Advances in K-means Clustering , 2012, Springer Theses.

[41]  Ahmed E. Hassan,et al.  Security versus performance bugs: a case study on Firefox , 2011, MSR '11.

[42]  Richard N. Taylor,et al.  Software traceability with topic modeling , 2010, 2010 ACM/IEEE 32nd International Conference on Software Engineering.

[43]  Masaki Suwa,et al.  Unexpected discoveries and S-invention of design requirements , 2000 .

[44]  Neil A. M. Maiden,et al.  Inventing Requirements with Creativity Support Tools , 2009, REFSQ.

[45]  Daniela E. Damian,et al.  Predicting build failures using social network analysis on developer communication , 2009, 2009 IEEE 31st International Conference on Software Engineering.

[46]  Chong Wang,et al.  Reading Tea Leaves: How Humans Interpret Topic Models , 2009, NIPS.

[47]  Ahmed E. Hassan,et al.  Validating the Use of Topic Models for Software Evolution , 2010, 2010 10th IEEE Working Conference on Source Code Analysis and Manipulation.

[48]  Peter Pirolli,et al.  An elementary social information foraging model , 2009, CHI.

[49]  Katherine A. Brady,et al.  Computational Models of Surprise in Evaluating Creative Design , 2013 .