Creating Socio-Technical Patches for Information Foraging: A Requirements Traceability Case Study

Work in information foraging theory presumes that software developers have a predefined patch of information (e.g., a Java class) within which they conduct a search task. However, not all tasks have easily delineated patches. Requirements traceability, where a developer must traverse a combination of technical artifacts and social structures, is one such task. We examine requirements socio-technical graphs to describe the key relationships that a patch should encode to assist in a requirements traceability task. We then present an algorithm, based on spreading activation, which extracts a relevant set of these relationships as a patch. We test this algorithm in requirements repositories of four open-source software projects. Our results show that applying this algorithm creates useful patches with reduced superfluous information.

[1]  Walt Scacchi,et al.  Ongoing software development without classical requirements , 2013, 2013 21st IEEE International Requirements Engineering Conference (RE).

[2]  Margaret M. Burnett,et al.  Foraging and navigations, fundamentally: developers' predictions of value and cost , 2016, SIGSOFT FSE.

[3]  Audris Mockus,et al.  An Empirical Study of Speed and Communication in Globally Distributed Software Development , 2003, IEEE Trans. Software Eng..

[4]  Ed H. Chi,et al.  Using information scent to model user information needs and actions and the Web , 2001, CHI.

[5]  Gerard Salton,et al.  Term-Weighting Approaches in Automatic Text Retrieval , 1988, Inf. Process. Manag..

[6]  Emily Hill,et al.  Degree-of-knowledge , 2014, ACM Trans. Softw. Eng. Methodol..

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

[8]  Rachel K. E. Bellamy,et al.  An Information Foraging Theory Perspective on Tools for Debugging, Refactoring, and Reuse Tasks , 2013, TSEM.

[9]  Stuart K. Card,et al.  Information foraging in information access environments , 1995, CHI '95.

[10]  Nan Niu,et al.  Gray links in the use of requirements traceability , 2016, SIGSOFT FSE.

[11]  Peter Pirolli,et al.  Computational models of information scent-following in a very large browsable text collection , 1997, CHI.

[12]  Zhendong Niu,et al.  Traceability-enabled refactoring for managing just-in-time requirements , 2014, 2014 IEEE 22nd International Requirements Engineering Conference (RE).

[13]  Audris Mockus,et al.  Expertise Browser: a quantitative approach to identifying expertise , 2002, Proceedings of the 24th International Conference on Software Engineering. ICSE 2002.

[14]  Jane Huffman Hayes,et al.  Advancing candidate link generation for requirements tracing: the study of methods , 2006, IEEE Transactions on Software Engineering.

[15]  Xiaoyu Jin,et al.  Facilitating end-user developers by estimating time cost of foraging a webpage , 2017, 2017 IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC).

[16]  Sugandha Lohar Supporting Natural Language Queries across the Requirements Engineering Process , 2016, REFSQ Workshops.

[17]  Per Runeson,et al.  Recovering from a decade: a systematic mapping of information retrieval approaches to software traceability , 2013, Empirical Software Engineering.

[18]  Rachel K. E. Bellamy,et al.  Modeling programmer navigation: A head-to-head empirical evaluation of predictive models , 2011, 2011 IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC).

[19]  Neil A. Ernst,et al.  Case studies in just-in-time requirements analysis , 2012, 2012 Second IEEE International Workshop on Empirical Requirements Engineering (EmpiRE).

[20]  Andrew Begel,et al.  Codebook: Social networking over code , 2009, 2009 31st International Conference on Software Engineering - Companion Volume.

[21]  Patrick Mäder,et al.  Preventing Defects: The Impact of Requirements Traceability Completeness on Software Quality , 2017, IEEE Transactions on Software Engineering.

[22]  Yi Zhang,et al.  Strategic Traceability for Safety-Critical Projects , 2013, IEEE Software.

[23]  Juha Savolainen,et al.  Answering the requirements traceability questions , 2018, ICSE.

[24]  James D. Herbsleb,et al.  Influence of social and technical factors for evaluating contribution in GitHub , 2014, ICSE.

[25]  Mihai Surdeanu,et al.  The Stanford CoreNLP Natural Language Processing Toolkit , 2014, ACL.

[26]  Rachel K. E. Bellamy,et al.  How Programmers Debug, Revisited: An Information Foraging Theory Perspective , 2013, IEEE Transactions on Software Engineering.

[27]  Christine Nadel,et al.  Case Study Research Design And Methods , 2016 .

[28]  Allan Collins,et al.  A spreading-activation theory of semantic processing , 1975 .

[29]  Ling Li,et al.  A Clustering-Based Approach to Enriching Code Foraging Environment , 2016, IEEE Transactions on Cybernetics.

[30]  Jane Cleland-Huang,et al.  Evaluating the Interpretation of Natural Language Trace Queries , 2016, REFSQ.

[31]  Nick Cramer,et al.  Automatic Keyword Extraction from Individual Documents , 2010 .

[32]  Christos Faloutsos,et al.  Graph mining: Laws, generators, and algorithms , 2006, CSUR.

[33]  Jane Cleland-Huang,et al.  TiQi: answering unstructured natural language trace queries , 2015, Requirements Engineering.

[34]  Rachel K. E. Bellamy,et al.  Reactive information foraging for evolving goals , 2010, CHI.

[35]  Rachel K. E. Bellamy,et al.  Using information scent to model the dynamic foraging behavior of programmers in maintenance tasks , 2008, CHI.

[36]  Olly Gotel,et al.  An analysis of the requirements traceability problem , 1994, Proceedings of IEEE International Conference on Requirements Engineering.

[37]  James D. Herbsleb,et al.  Building a socio-technical theory of coordination: why and how (outstanding research award) , 2016, SIGSOFT FSE.

[38]  James D. Herbsleb,et al.  Introducing instant messaging and chat in the workplace , 2002, CHI.

[39]  Andy Zaidman,et al.  An analysis of requirements evolution in open source projects: recommendations for issue trackers , 2013, IWPSE 2013.

[40]  Pamela Effrein Sandstrom,et al.  Information Foraging Theory: Adaptive Interaction with Information , 2010, J. Assoc. Inf. Sci. Technol..

[41]  O. Gotel,et al.  Contribution Structures , 1995 .

[42]  Michalis Faloutsos,et al.  Competing memes propagation on networks: a case study of composite networks , 2012, CCRV.

[43]  Daniela E. Damian,et al.  Patterns of continuous requirements clarification , 2014, Requirements Engineering.

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

[45]  Walt Scacchi,et al.  Understanding the requirements for developing open source software systems , 2002, IEE Proc. Softw..

[46]  Margaret M. Burnett,et al.  Foraging Among an Overabundance of Similar Variants , 2016, CHI.

[47]  Jane Huffman Hayes,et al.  On human analyst performance in assisted requirements tracing: Statistical analysis , 2011, 2011 IEEE 19th International Requirements Engineering Conference.

[48]  Jane Cleland-Huang,et al.  What Questions do Requirements Engineers Ask? , 2017, 2017 IEEE 25th International Requirements Engineering Conference (RE).