Using Interaction Data for Continuous Creation of Trace Links Between Source Code and Requirements in Issue Tracking Systems

Context and Motivation: Information retrieval (IR) trace link creation approaches have insufficient precision and do not perform well on unstructured data which is typical in issue tracker systems (ITS). Question/problem: We are interested in understanding how interaction tracking on artifacts can help to improve precision and recall of trace links between requirements specified unstructured in an ITS and source code. Principal ideas/results: We performed a study with open source project data in which artifact interactions while working on requirements specified in an ITS have been recorded. Contribution: The results of our study show that precision of interaction-based links is 100% and recall is 93% for the first and 80% for the second evaluated data set relative to IR-created links. Along with the study we developed an approach based on standard tools to automatically create trace links using interactions which also takes into account source code structure. The approach and the study show that trace links creation in practice can be supported with little extra effort for the developers.

[1]  Jyoti Prakash,et al.  Precision and Relative Recall of Search Engines: A Comparative Study of Google and Yahoo , 2009 .

[2]  Barbara Paech,et al.  Do Information Retrieval Algorithms for Automated Traceability Perform Effectively on Issue Tracking System Data? , 2016, REFSQ.

[3]  Guttorm Sindre,et al.  Use Case to Source Code Traceability: The Developer Navigation View Point , 2009, 2009 17th IEEE International Requirements Engineering Conference.

[4]  Walid Maalej,et al.  On the Similarity of Task Contexts , 2015, 2015 IEEE/ACM 2nd International Workshop on Context for Software Development.

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

[6]  Richard N. Taylor,et al.  Automated Techniques for Capturing Custom Traceability Links Across Heterogeneous Artifacts , 2012, Software and Systems Traceability.

[7]  Genny Tortora,et al.  Recovering traceability links in software artifact management systems using information retrieval methods , 2007, TSEM.

[8]  Pavol Návrat,et al.  Untangling Development Tasks with Software Developer's Activity , 2015, 2015 IEEE/ACM 2nd International Workshop on Context for Software Development.

[9]  Alexander Egyed,et al.  Do developers benefit from requirements traceability when evolving and maintaining a software system? , 2014, Empirical Software Engineering.

[10]  Andrea De Lucia,et al.  Improving Source Code Lexicon via Traceability and Information Retrieval , 2011, IEEE Transactions on Software Engineering.

[11]  Gerardo Canfora,et al.  Estimating the number of remaining links in traceability recovery , 2016, Empirical Software Engineering.

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

[13]  Mária Bieliková,et al.  Poster: Discovering Code Dependencies by Harnessing Developer's Activity , 2015, 2015 IEEE/ACM 37th IEEE International Conference on Software Engineering.

[14]  Genny Tortora,et al.  Enhancing an artefact management system with traceability recovery features , 2004, 20th IEEE International Conference on Software Maintenance, 2004. Proceedings..

[15]  Paul Hübner Quality Improvements for Trace Links between Source Code and Requirements , 2016, REFSQ Workshops.

[16]  Yann-Gaël Guéhéneuc,et al.  Requirements Traceability for Object Oriented Systems by Partitioning Source Code , 2011, 2011 18th Working Conference on Reverse Engineering.

[17]  Mehrdad Sabetzadeh,et al.  Traceability and SysML design slices to support safety inspections: A controlled experiment , 2014, TSEM.

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

[19]  Stephen Clark,et al.  Best Practices for Automated Traceability , 2007, Computer.

[20]  Martin Frické,et al.  Measuring recall , 1998, J. Inf. Sci..

[21]  Mik Kersten,et al.  Using task context to improve programmer productivity , 2006, SIGSOFT '06/FSE-14.

[22]  Collin McMillan,et al.  Combining textual and structural analysis of software artifacts for traceability link recovery , 2009, 2009 ICSE Workshop on Traceability in Emerging Forms of Software Engineering.

[23]  Barbara Paech,et al.  Tracing Requirements and Source Code during Software Development: An Empirical Study , 2013, 2013 ACM / IEEE International Symposium on Empirical Software Engineering and Measurement.

[24]  Mik Kersten,et al.  How are Java software developers using the Elipse IDE? , 2006, IEEE Software.

[25]  Alexander Felfernig,et al.  What stakeholders need to know about requirements , 2014, 2014 IEEE 4th International Workshop on Empirical Requirements Engineering (EmpiRE).

[26]  Giuliano Antoniol,et al.  The quest for Ubiquity: A roadmap for software and systems traceability research , 2012, 2012 20th IEEE International Requirements Engineering Conference (RE).

[27]  Barbara Paech,et al.  Software Feature Request Detection in Issue Tracking Systems , 2016, 2016 IEEE 24th International Requirements Engineering Conference (RE).

[28]  Gerardo Canfora,et al.  How changes affect software entropy: an empirical study , 2014, Empirical Software Engineering.

[29]  Yann-Gaël Guéhéneuc,et al.  Trustrace: Mining Software Repositories to Improve the Accuracy of Requirement Traceability Links , 2013, IEEE Transactions on Software Engineering.

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