Analyzing the Tracing of Requirements and Source Code during Software Development
[Context and motivation] Traceability links between requirements and code are often created after development, which can, for example, lead to higher development effort. To address this weakness, we developed in previous work an approach that captures traceability links between requirements and code as the development progresses by using artifacts from project management called work items. [Question/problem] It is important to investigate empirically what is the best way to capture such links and how these links are used during development. [Principal ideas/results] In order to link requirements, work items and code during development, we extended our approach from previous work by defining three traceability link creation processes. We are applying these processes in practice in a software development project conducted with undergraduate students. The results indicate that our approach creates correct traceability links between requirements and code with high precision/recall during development, while developers mainly used the third process to link work items after implementation. Furthermore, the students used a subset of the created traceability links for navigating between requirements and code during the early phase of the development project. [Contribution] In this paper, we report on preliminary empirical results from applying our approach in practice.
Keywordstrace requirement work item code software development
Unable to display preview. Download preview PDF.
- 1.Asuncion, H., Taylor, R.: Automated techniques for capturing custom traceability links across heterogeneous artifacts. In: Cleland-Huang, J., Gotel, O., Zisman, A. (eds.) Software and Systems Traceability, pp. 129–146. Springer (2012)Google Scholar
- 2.Cleland-Huang, J.: Traceability in agile projects. In: Cleland-Huang, J., Gotel, O., Zisman, A. (eds.) Software and Systems Traceability, pp. 265–275. Springer (2012)Google Scholar
- 3.Delater, A., Narayan, N., Paech, B.: Tracing Requirements and Source Code during Software Development. In: Proceedings of the 7th International Conference on Software Engineering Advances, ICSEA 2012, pp. 274–282 (2012)Google Scholar
- 4.Frakes, W.B., Baeze-Yates, R. (eds.): Information Retrieval: Data Structures and Algorithms. Prentice-Hall (1992)Google Scholar
- 5.Maeder, P., Egyed, A.: Do software engineers benefit from source code navigation with traceability? - An experiment in software change management. In: Proceedings of the 26th International Conference on Automated Software Engineering, ASE 2011, pp. 444–447 (2011)Google Scholar
- 6.Maeder, P., Egyed, A.: Assessing the effect of requirements traceability for software maintenance. In: Proceedings of the 28th International Conference on Software Maintenance, ICSM 2012, pp. 171–180 (2012)Google Scholar
- 7.Maeder, P., Gotel, O.: Ready-to-use Traceability on Evolving Projects. In: Cleland-Huang, J., Gotel, O., Zisman, A. (eds.) Software and Systems Traceability, pp. 173–194. Springer (2012)Google Scholar
- 8.Omoronyia, I., Sindre, G., Roper, M., Ferguson, J., Wood, M.: Use case to source code traceability: The developer navigation viewpoint. In: Proceedings of the 17th International Requirements Engineering Conference, RE 2009, pp. 237–242 (2009)Google Scholar
- 9.UNICASE Trace Client, http://code.google.com/p/unicase/wiki/TraceClient
- 10.UNICASE, http://www.unicase.org/