Advertisement

Factors Impacting the Inputs of Traceability Recovery Approaches

  • Nasir AliEmail author
  • Yann-Gaël Guéhéneuc
  • Giuliano Antoniol
Chapter

Abstract

In requirement engineering, researchers have proposed various tractability recovery approaches. To the best of our knowledge, all traceability recovery approaches have low precision and recall. Our main claim in this chapter is that there exist factors that impact the traceability approaches’ inputs, in particular source document, target document, and experts’ opinion, that cause low precision and recall. In this chapter, we pursue four objectives: first, to identify and document factors that impact traceability recovery approaches’ inputs; second, to identify metrics/tools to measure/improve the quality of the inputs with respect to the identified factors, third, to provide precautions to control these factors, and, fourth, to empirically prove and quantify the effect of one of these factors–expert’s programming knowledge–on the traceability recovery approaches’ inputs. To achieve the first two objectives, we perform an incremental literature review of traceability recovery approaches and identify and document three key inputs and the seven factors impacting these inputs, out of 12 identified factors. We analyse the reported results in literature for the identified factors to address our third objective. We conduct an empirical study to assess the impact of expert’s programming knowledge, to address our fourth objective. We use the effort, number of correct answers, and time to measure the effect of expert’s programming knowledge on traceability recovery. We conclude that, in the literature, seven factors impacting the inputs of traceability recovery approaches have been identified, documented, and reported along with related metrics/tools and precautions. We suggest that practitioners should be wary of these seven factors and researchers should focus on the five others to improve traceability recovery approaches.

Keywords

Source Code Domain Knowledge International Space Station Vector Space Model Traceability Link 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

References

  1. Abadi, A., Nisenson, M., Simionovici, Y.: A traceability technique for specifications. In: The 16th IEEE International Conference on Program Comprehension (ICPC’08), pp. 103–112. Amsterdam, The Netherlands (2008)Google Scholar
  2. Ali, N.: Trustrace: Improving automated trace retrieval through resource trust analysis. In: ICPC ’11: Proceedings of the International Conference on Program Comprehension (ICPC’11), p. 4. IEEE Computer Society, Washington, DC (2011)Google Scholar
  3. Antoniol, G.: Recovery of traceability links in software artifacts and systems. PhD Thesis, Montreal, QC (2003)Google Scholar
  4. Antoniol, G., Canfora, G., Casazza, G., De Lucia, A., Merlo, E.: Recovering traceability links between code and documentation. IEEE Trans. Softw. Eng. 28(10), 970–983. Piscataway, NJ (2002). ISSN:0098-5589Google Scholar
  5. Antoniol, G., Hayes, J., Guéhéneuc, Y.G., di Penta, M.: Reuse or rewrite: Combining textual, static, and dynamic analyses to assess the cost of keeping a system up-to-date. In: IEEE International Conference on Software Maintenance (ICSM’08), Beijing, China (2008)Google Scholar
  6. Bianchi, A., Fasolino, A., Visaggio, G.: An exploratory case study of the maintenance effectiveness of traceability models. In: Proceedings of the 8th International Workshop on Program Comprehension (IWPC 2000), pp. 149–158. IEEE Computer Society, Los Alamitos, CA (2000)Google Scholar
  7. Binkley, D., Feild, H., Lawrie, D., Pighin, M.: Software fault prediction using language processing. In: Testing: Academic and Industrial Conference Practice and Research Techniques- MUTATION, 2007. TAICPART-MUTATION 2007, IEEE, pp. 99–110. Windsor, UK (2007)Google Scholar
  8. Binkley, D., Feild, H., Lawrie, D., Pighin, M.: Increasing diversity: Natural language measures for software fault prediction. J. Syst. Softw. 82(11), 1793–1803 (2009)CrossRefGoogle Scholar
  9. Butler, S., Wermelinger, M., Yu, Y., Sharp, H.: Relating identifier naming flaws and code quality: An empirical study. IEEE Comput. Soc. 0, pp. 31–35, Los Alamitos, CA (2009)Google Scholar
  10. Chan, T.: Impact of programming and application-specific knowledge on maintenance effort: A hazard rate model. In: IEEE International Conference on Software Maintenance (ICSM’08), pp. 47–56. IEEE, Orlando, FL (2008)Google Scholar
  11. Chantree, F., Nuseibeh, B., de Roeck, A., Willis, A.: Identifying nocuous ambiguities in natural language requirements. In: 14th IEEE International Conference Requirements Engineering, pp. 59–68. Minneapolis, MN (2006)Google Scholar
  12. Cleland-Huang, J., Chang, C.K., Christensen, M.: Event-based traceability for managing evolutionary change. IEEE Trans. Softw. Eng. 29(9), 796–810 (2003)CrossRefGoogle Scholar
  13. Cleland-Huang, J., Berenbach, B., Clark, S., Settimi, R., Romanova, E.: Best practices for automated traceability. Computer 40, 27–35 (2007)CrossRefGoogle Scholar
  14. Cuddeback, D., JHH, Dekhtyar, A.: Automated Requirements Traceability: The Study of Human Analysts. IEEE Computer Society, Los Alamitos, CA (2010)Google Scholar
  15. De Lucia, A., Oliveto, R., Tortora, G.: Assessing IR-based traceability recovery tools through controlled experiments. Empirical Softw. Eng. 14, 57–92 (2009)CrossRefGoogle Scholar
  16. Deissenboeck, F., Pizka, M.: Concise and consistent naming. Softw. Qual. J. 14, 261–282 (2006)CrossRefGoogle Scholar
  17. Dekhtyar, A., Hayes, J., Larsen, J.: Make the most of your time: How should the analyst work with automated traceability tools? In: International Workshop on Predictor Models in Software Engineering (PROMISE’07: ICSE Workshops 2007), pp. 1–4. Minneapolis, MN (2007)Google Scholar
  18. Eder, J., Panagos, E., Rabinovich, M.: Time constraints in workflow systems. In: Proceedings of the 11th International Conference on Advanced Information Systems Engineering, pp. 286–300. Springer, London, CAiSE ’99 (1999)Google Scholar
  19. Egyed, A.: A scenario-driven approach to traceability. In: Proceedings of the 23rd International Conference on Software Engineering (ICSE’01), pp. 123–132. Toronto, ON (2001)Google Scholar
  20. Egyed, A., Grünbacher, P.: Automating requirements traceability: Beyond the record & replay paradigm. In: ASE’02: Proceedings of the 17th IEEE international conference on Automated software engineering, p. 163. IEEE Computer Society, Washington, DC (2002)Google Scholar
  21. Egyed, A., Grünbacher, P.: Identifying requirements conflicts and cooperation: How quality attributes and automated traceability can help. Softw. IEEE 21(6), 50–58 (2004)CrossRefGoogle Scholar
  22. Egyed, A., Biffl, S., Heindl, M., Grünbacher, P.: A value-based approach for understanding costbenefit trade-offs during automated software traceability. In: Proceedings of the 3rd International Workshop on Traceability in Emerging Forms of Software Engineering, pp. 2–7. ACM, New York, NY, TEFSE ’05 (2005)Google Scholar
  23. Egyed, A., Graf, F., Grünbacher, P.: Effort and quality of recovering requirements-to-code traces: Two exploratory experiments. In: IEEE International Conference on Requirements Engineering, pp. 221–230. IEEE Computer Society, Los Alamitos, CA (2010)Google Scholar
  24. Fabbrini, F., Fusani, M., Gnesi, S., Lami, G.: The linguistic approach to the natural language requirements quality: Benefit of the use of an automatic tool. In: Proceedings of the 26th Annual NASA Goddard, Software Engineering Workshop, pp. 97–105. IEEE Computer Society, Los Alamitos, CA (2001)Google Scholar
  25. Gervasi, V., Zowghi, D.: On the role of ambiguity in requirement engineering. In: REFSQ, pp. 248–254.Springer, Berlin/Heidelberg (2010)Google Scholar
  26. Ghazarian, A.: A design-rule-based constructive approach to building traceable software. PhD Thesis, Toronto, ON (2009)Google Scholar
  27. Gibson, M.D., Conheeney, K.: Domain knowledge reuse during requirements engineering. In: Proceedings of the 7th International Conference on Advanced Information Systems Engineering, pp. 283–296. Springer, London (1995)Google Scholar
  28. Gleich, B., Creighton, O., Kof, L.: Ambiguity Detection: Towards a Tool Explaining Ambiguity Sources. Requirements Engineering: Foundation for Software Quality, pp. 218–232. Essen, Germany (2010)Google Scholar
  29. Gregorc, A.: An Adultâs Guide to Style. Gregorc Associates, Inc., Columbia, CT (1982)Google Scholar
  30. Grünbacher, P., Briggs, R.: Surfacing tacit knowledge in requirements negotiation: Experiences using easywinwin. In: Proceedings of the 34th Annual Hawaii International Conference on System Sciences, 2001, p. 8 (2001)Google Scholar
  31. Haiduc, S., Marcus, A.: On the use of domain terms in source code. In: The 16th IEEE International Conference on Program Comprehension (ICPC’08), pp. 113–122 (2008)Google Scholar
  32. Hall, T., Beecham, S., Rainer, A.: Requirements problems in twelve software companies: an empirical analysis. Softw. IEE Proc. 149(5), 153–160 (2002)CrossRefGoogle Scholar
  33. Hart, S.G., Stavenland, L.E.: Development of NASA-TLX (Task Load Index): Results of empirical and theoretical research. In: Hancock, P.A., Meshkati, N. (eds) Human Mental Workload,  chap. 7, pp. 139–183. Elsevier, Amsterdam (1988)CrossRefGoogle Scholar
  34. Hausmann, J., Heckel, R., Taentzer, G.: Detection of conflicting functional requirements in a use case-driven approach. In: Proceedings of the 24rd International Conference on Software Engineering (ICSE’02), pp. 105–115. IEEE, Washington, DC (2005)Google Scholar
  35. Hayes, J.: Building a requirement fault taxonomy: Experiences from a NASA verification and validation research project. In: 14th International Symposium on Software Reliability Engineering, (ISSRE’03). pp. 49–59. Denver, CO (2003a)Google Scholar
  36. Hayes, J.H.: Building a requirement fault taxonomy: Experiences from a NASA verification and validation research project. In: Proceedings of the 14th International Symposium on Software Reliability Engineering. IEEE Computer Society, Washington, DC, ISSRE ’03 (2003b)Google Scholar
  37. Hayes, J.H., Dekhtyar, A.: Humans in the traceability loop: Can’t live with ’em, can’t live without ’em. In: Proceedings of the 3rd International Workshop on Traceability in Emerging Forms of Software Engineering, pp. 20–23. ACM, New York, NY. TEFSE ’05, doi: http://doi.acm.org/10.1145/1107656.1107661 (2005)
  38. Hayes, J.H., Dekhtyar, A., Osborne, J.: Improving requirements tracing via information retrieval. In: RE ’03: Proceedings of the 11th IEEE International Conference on Requirements Engineering, p. 138. IEEE Computer Society, Washington, DC (2003)Google Scholar
  39. Hayes, J.H., Dekhtyar, A., Sundaram, S.: Text mining for software engineering: how analyst feedback impacts final results. In: Proceedings of the 2005 International Workshop on Mining Software Repositories, pp. 1–5. ACM, New York, NY, MSR ’05 (2005)Google Scholar
  40. Hayes, J.H., Antoniol, G., Guéhéneuc, Y.G.: Prereqir: Recovering pre-requirements via cluster analysis, vol. 0, pp. 165–174. IEEE Computer Society, Los Alamitos, CA (2008)Google Scholar
  41. Jirapanthong, W., Zisman, A.: Xtraque: Traceability for product line systems. Softw. Syst. Model. 8(1), 117–144 (2007)CrossRefGoogle Scholar
  42. Joseph, J.C.: Requirements engineering and management: The key to designing quality complex systems. In: The TQM Magazine, vol. 12, pp. 400–407. MCB UP Ltd., Bradford, West Yorkshire (2000)Google Scholar
  43. Kamsties, E., Hormann, K., Schlich, M.: Requirements engineering in small and medium enterprises. Req. Eng. 3(2), 84–90 (1998)CrossRefGoogle Scholar
  44. Kamsties, E., Berry, D., Paech, B.: Detecting ambiguities in requirements documents using inspections. In: Workshop on Inspections in Software Engineering, pp. 68–80. Paris, France (2001)Google Scholar
  45. Kasser, J.: The first requirements elucidator demonstration (FRED) Tool. Syst. Eng. 7(3), 243–256 (2004)CrossRefGoogle Scholar
  46. Kitchenham, B., Brereton, O., Budgen, D., Turner, M., Bailey, J., Linkman, S.: Systematic literature reviews in software engineering – A systematic literature review. Inform. Softw. Technol. 51, 7–15 (2009)CrossRefGoogle Scholar
  47. Lau, W., Yuen, A.: Exploring the effects of gender and learning styles on computer programming performance: Implications for programming pedagogy. Brit. J. Educat. Technol. 40(4), 696–712 (2009)CrossRefGoogle Scholar
  48. Lawrie, D., Feild, H., Binkley, D.: Quantifying identifier quality: An analysis of trends. Empirical Softw. Eng. 12, 359–388 (2007a)CrossRefGoogle Scholar
  49. Lawrie, D., Morrell, C., Feild, H., Binkley, D. : What’s in a name? A study of identifiers. In: Proceedings of the 14th IEEE International Conference on Program Comprehension, pp. 3–12. IEEE Computer Society, Washington, DC (2006)Google Scholar
  50. Lawrie, D., Morrell, C., Feild, H., Binkley, D.: Effective identifier names for comprehension and memory. Innov. Syst. Softw. Eng. 3, 303–318 (2007b)CrossRefGoogle Scholar
  51. Lee, J., Kuo, J.: New approach to requirements trade-off analysis for complex systems. Knowl. Data Eng. IEEE Trans. 10(4), 551–562 (2002)CrossRefGoogle Scholar
  52. Lucia, A.D., Fasano, F., Oliveto, R., Tortora, G.: Adams Re-Trace: A Traceability Recovery Tool, vol. 0, pp. 32–41. IEEE Computer Society, Los Alamitos, CA (2005)Google Scholar
  53. Lucia, A.D., Fasano, F., Oliveto, R., Tortora, G.: Recovering traceability links in software artifact management systems using information retrieval methods. ACM Trans. Softw. Eng. Methodol. 16, 1301–1350 (2007)Google Scholar
  54. Lucia, A.D., Penta, M.D., Oliveto, R.: Improving source code lexicon via traceability and information retrieval. IEEE Trans. Softw. Eng. 99, 205–227 (2010)Google Scholar
  55. Lucia, A.D., Penta, M.D., Oliveto, R., Zurolo, F.: Coconut: Code Comprehension Nurturant Using Traceability, pp. 274–275. IEEE Computer Society, Los Alamitos, CA (2006)Google Scholar
  56. Madani, N., Guerrouj, L., Di Penta, M., Guéhéneuc, Y.G., Antoniol, G.: Recognizing words from source code identifiers using speech recognition techniques. In: Proceeding of the Conference on Software Maintenance and Reengineering, pp. 69–78. IEEE, Madrid, Spain (2010)Google Scholar
  57. Maletic, J., Munson, E., Marcus, A., Nguyen, T.: Using a hypertext model for traceability link conformance analysis. In: Proceedings of the 2nd International Workshop on Traceability in Emerging Forms of Software Engineering, pp. 47–54. Montreal, Canada (2003)Google Scholar
  58. Marcus, A., Maletic, J.I.: Recovering documentation-to-source-code traceability links using latent semantic indexing. In: ICSE ’03: Proceedings of the 25th International Conference on Software Engineering, pp. 125–135. IEEE Computer Society, Washington, DC (2003)Google Scholar
  59. Marcus, A., Poshyvanyk, D.: The conceptual cohesion of classes. In: Proceedings of the 21st IEEE International Conference on Software Maintenance, pp. 133–142. IEEE Computer Society, Washington, DC (2005)Google Scholar
  60. Moha, N., Guéhéneuc, Y.G., Duchien, L., Le Meur, A.F.: Decor: A method for the specification and detection of code and design smells. Softw. Eng. IEEE Trans. 36(1), 20–36 (2010)CrossRefGoogle Scholar
  61. Oliveto, R., Gethers, M., Poshyvanyk, D., De Lucia, A.: On the equivalence of information retrieval methods for automated traceability link recovery. In: Proceedings of the 2010 IEEE 18th International Conference on Program Comprehension, pp. 68–71. IEEE Computer Society, Washington, DC, ICPC ’10 (2010)Google Scholar
  62. Park, Y., Black, J.: Identifying the impact of domain knowledge and cognitive style on webbased information search behavior. J. Educat. Comput. Res. 36(1), 15–37 (2007)CrossRefGoogle Scholar
  63. Rajlich, V., Wilde, N.: The role of concepts in program comprehension. In: Proceedings of the 10th International Workshop on Program Comprehension, p. 271. IEEE Computer Society, Washington, DC, IWPC ’02 (2002)Google Scholar
  64. Sherba, S.A.: Towards automating traceability: An incremental and scalable approach. PhD Thesis, Boulder, CO (2005)Google Scholar
  65. Sheskin, D.J.: Handbook of Parametric and Nonparametric Statistical Procedures, 4th edn. Chapman & Hall/CRC, London (2007)zbMATHGoogle Scholar
  66. Soloway, E., Ehrlich, K.: Empirical Studies of Programming Knowledge, pp. 235–267. ACM, New York, NY (1989)Google Scholar
  67. Spanoudakis, G., Zisman, A., Pérez-Minana, E., Krause, P.: Rule-based generation of requirements traceability relations. J. Syst. Softw. 72(2), 105–127 (2004)CrossRefGoogle Scholar
  68. Sundaram, S.K., Hayes, J.H., Dekhtyar, A.: Baselines in requirements tracing. In: Proceedings of the 2005 Workshop on Predictor Models in Software Engineering, pp. 1–6, ACM, New York, NY (2005)Google Scholar
  69. Taira, M.: The influence of domain knowledge and task requirement on the selection of learning strategies in the internet. Int. J. Creativ. Probl. Solv. 18(1), 45–53 (2008)MathSciNetGoogle Scholar
  70. Takang, A.A., Grubb, P.A., Macredie, R.D.: The effects of comments and identifier names on program comprehensibility: An experimental investigation. J. Program. Lang. 4(3), 143–167 (1996)Google Scholar
  71. Wake, W.C.: Refactoring Workbook. Addison-Wesley Longman Publishing Co. Inc., Boston, MA (2003)Google Scholar
  72. Zisman, A., Spanoudakis, G., Pérez-Miñana, E., Krause, P.: Towards a traceability approach for product families requirements. In: Proceedings of 3rd ICSE Workshop on Software Product Lines: Economics, Architectures, and Implications, Orlando, FL (2002)Google Scholar

Copyright information

© Springer-Verlag London Limited 2012

Authors and Affiliations

  • Nasir Ali
    • 1
    Email author
  • Yann-Gaël Guéhéneuc
    • 1
  • Giuliano Antoniol
    • 2
  1. 1.DGIGL, École Polytechnique de MontréalMontréalCanada
  2. 2.École Polytechnique de MontréalMontréalCanada

Personalised recommendations