Changes, Evolution, and Bugs

Recommendation Systems for Issue Management
Chapter

Abstract

Changes in evolving software systems are often managed using an issue repository. This repository may contribute to information overload in an organization, but it may also help in navigating the software system. Software developers spend much effort on issue triage, a task in which the mere number of issue reports becomes a significant challenge. One specific difficulty is to determine whether a newly submitted issue report is a duplicate of an issue previously reported, if it contains complementary information related to a known issue, or if the issue report addresses something that has not been observed before. However, the large number of issue reports may also be used to help a developer to navigate the software development project to find related software artifacts, required both to understand the issue itself, and to analyze the impact of a possible issue resolution. This chapter presents recommendation systems that use information in issue repositories to support these two challenges, by supporting either duplicate detection of issue reports or navigation of artifacts in evolving software systems.

References

  1. 1.
    Anvik, J., Hiew, L., Murphy, G.: Coping with an open bug repository. In: Proceedings of the Eclipse Technology eXchange, pp. 35–39, San Diego, CA, USA, 16–17 October 2005. doi:10.1145/1117696.1117704Google Scholar
  2. 2.
    Anvik, J., Murphy, G.C.: Reducing the effort of bug report triage: Recommenders for development-oriented decisions. ACM Trans. Software Eng. Meth. 20(3), 10:1–10:35 (2011). doi:10.1145/2000791.2000794Google Scholar
  3. 3.
    Begel, A., Phang, K.Y., Zimmermann, T.: Codebook: Discovering and exploiting relationships in software repositories. In: Proceedings of the ACM/IEEE International Conference on Software Engineering, pp. 125–134, Cape Town, South Africa, 1–8 May 2010. doi:10.1145/ 1806799.1806821Google Scholar
  4. 4.
    Bettenburg, N., Premraj, R., Zimmermann, T.: Duplicate bug reports considered harmful … really? In: Proceedings of the IEEE International Conference on Software Maintenance, pp. 337–345, Beijing, 28 September–4 October 2008. doi:10.1109/ICSM.2008.4658082Google Scholar
  5. 5.
    Boehm, B., Basili, V.: Software defect reduction top 10 list. Computer 34(1), 135–137 (2001). doi:10.1109/2.962984CrossRefGoogle Scholar
  6. 6.
    Borg, M.: Findability through traceability: A realistic application of candidate trace links? In: Proceedings of the International Conference on Evaluating Novel Approaches to Software Engineering, pp. 173–181, Wroclaw, Poland, 29–30 June 2012.Google Scholar
  7. 7.
    Borg, M., Gotel, O., Wnuk, K.: Enabling traceability reuse for impact analyses: A feasibility study in a safety context. In: Proceedings of the International Workshop on Traceability in Emerging Forms of Software Engineering, pp. 72–78, San Francisco, CA, USA, 19 May 2013aGoogle Scholar
  8. 8.
    Borg, M., Pfahl, D., Runeson, P.: Analyzing networks of issue reports. In: Proceedings of the European Conference on Software Maintenance and Reengineering, pp. 79–88, Genova, Italy, 5–8 March 2013b. doi:10.1109/CSMR.2013.18Google Scholar
  9. 9.
    Brandes, U., Eiglsperger, M., Lerner, J., Pich, C.: Graph markup language (GraphML). In: Tamassia, R. (ed.) Handbook of Graph Drawing and Visualization, Chap. 16, pp. 517–542. Chapman and Hall/CRC, London (2013)Google Scholar
  10. 10.
    Čubranić, D.: Project history as a group memory: Learning from the past. Ph.D. thesis, University of British Columbia (2004)Google Scholar
  11. 11.
    Čubranić, D., Murphy, G.C.: Automatic bug triage using text categorization. In: Proceedings of the International Conference on Software Engineering and Knowledge Engineering, pp. 92–97, Banff, Anbert, Canada, 20–24 June 2004Google Scholar
  12. 12.
    Čubranić, D., Murphy, G.C., Singer, J., Booth, K.S.: Hipikat: A project memory for software development. IEEE Trans. Software Eng. 31(6), 446–465 (2005). doi:10.1109/TSE.2005.71CrossRefGoogle Scholar
  13. 13.
    Deerwester, S., Dumais, S., Furnas, G., Landauer, T., Harshman, R.: Indexing by latent semantic analysis. J. Am. Soc. Inform. Sci. 41(6), 391–407 (1990). doi:10.1002/(SICI)1097-4571(199009)41:6⟨391::AID-ASI1⟩3.0.CO;2-9CrossRefGoogle Scholar
  14. 14.
    Edmunds, A., Morris, A.: The problem of information overload in business organisations: A review of the literature. Int. J. Inform. Manag. 20(1), 17–28 (2000). doi:10.1016/S0268-4012(99)00051-1CrossRefGoogle Scholar
  15. 15.
    Eppler, M., Mengis, J.: The concept of information overload: A review of literature from organization science, accounting, marketing, MIS, and related disciplines. Inform. Soc. Int. J. 20(5), 325–344 (2004). doi:10.1080/01972240490507974CrossRefGoogle Scholar
  16. 16.
    Gegick, M., Rotella, P., Xie, T.: Identifying security bug reports via text mining: An industrial case study. In: Proceedings of the International Working Conference on Mining Software Repositories, pp. 11–20, Cape Town, South Africa, 21–28 May 2010. doi:10.1109/ MSR.2010.5463340Google Scholar
  17. 17.
    Gethers, M., Dit, B., Kagdi, H., Poshyvanyk, D.: Integrated impact analysis for managing software changes. In: Proceedings of the ACM/IEEE International Conference on Software Engineering, pp. 430–440, Zurich, Switzerland, 2–9 June 2012. doi:10.1109/ICSE.2012.6227172Google Scholar
  18. 18.
    Guo, P.J., Zimmermann, T., Nagappan, N., Murphy, B.: Characterizing and predicting which bugs get fixed. In: Proceedings of the ACM/IEEE International Conference on Software Engineering, vol. 1, pp. 495–504, Cape Town, South Africa, 1–8 May 2010. doi:10.1145/1806799.1806871Google Scholar
  19. 19.
    Herzig, K., Zeller, A.: Mining bug data: A practitioner’s guide. In: Robillard, M., Maalej, W., Walker, R.J., Zimmermann, T. (eds.) Recommendation Systems in Software Engineering, Chap. 6. Springer, New York (2014)Google Scholar
  20. 20.
    Jalbert, N., Weimer, W.: Automated duplicate detection for bug tracking systems. In: Proceedings of the International Conference on Dependable Systems and Networks, pp. 52–61, Anchorage, Alaska, USA, 24–27 June 2008. doi:0.1109/DSN.2008.4630070Google Scholar
  21. 21.
    Johnson, J., Dubois, P.: Issue tracking. Comput. Sci. Eng. 5(6), 71–77 (2003). doi:10.1109/ MCISE.2003.1238707CrossRefGoogle Scholar
  22. 22.
    Jonsson, L., Broman, D., Sandahl, K., Eldh, S.: Towards automated anomaly report assignment in large complex systems using stacked generalization. In: Proceedings of the IEEE International Conference on Software Testing, Verification and Validation, pp. 437–446, Montreal, QC, Canada, 17–21 April 2012. doi:10.1109/ICST.2012.124Google Scholar
  23. 23.
    Just, S., Premraj, R., Zimmermann, T.: Towards the next generation of bug tracking systems. In: Proceedings of the IEEE Symposium on Visual Languages and Human-Centric Computing, pp. 82–85, Herrsching am Ammersee, Germany, 15–19 September 2008. doi:10.1109/VLHCC.2008.4639063Google Scholar
  24. 24.
    Karr-Wisniewski, P., Lu, Y.: When more is too much: Operationalizing technology overload and exploring its impact on knowledge worker productivity. Comput. Hum. Behav. 26(5), 1061–1072 (2010). doi:10.1016/j.chb.2010.03.008CrossRefGoogle Scholar
  25. 25.
    Keim, D., Mansmann, F., Schneidewind, J., Thomas, J., Ziegler, H.: Visual analytics: Scope and challenges. In: Simoff, S., Böhlen, M., Mazeika, A. (eds.) Visual Data Mining: Theory, Techniques and Tools for Visual Analytics. Lecture Notes in Computer Science, vol. 4404, pp. 76–90. Springer, Berlin Heidelberg (2008). doi:10.1007/978-3-540-71080-6_6CrossRefGoogle Scholar
  26. 26.
    Klevin, A.: People, process and tools: A study of impact analysis in a change process. Master thesis, Lund University (2012). URL http://sam.cs.lth.se/ExjobGetFile?id=467
  27. 27.
    Lamkanfi, A., Demeyer, S., Giger, E., Goethals, B.: Predicting the severity of a reported bug. In: Proceedings of the International Working Conference on Mining Software Repositories, pp. 1–10, Cape Town, South Africa, 2–3 May 2010. doi:10.1109/MSR.2010.5463284Google Scholar
  28. 28.
    Liu, T.Y.: Learning to Rank for Information Retrieval. Springer, Berlin, Heidelberg (2011). doi:10.1007/978-3-642-14267-3Google Scholar
  29. 29.
    Manning, C.D., Raghavan, P., Schutze, H.: Introduction to Information Retrieval. Cambridge University Press, Cambridge (2008)CrossRefMATHGoogle Scholar
  30. 30.
    Menzies, T.: Data mining: A tutorial. In: Robillard, M., Maalej, W., Walker, R.J., Zimmermann, T. (eds.) Recommendation Systems in Software Engineering, Chap. 3. Springer, New York (2014)Google Scholar
  31. 31.
    Menzies, T., Marcus, A.: Automated severity assessment of software defect reports. In: Proceedings of the IEEE International Conference on Software Maintenance, pp. 346–355, Beijing, China, 28 September–4 October 2008. doi:10.1109/ICSM.2008.4658083Google Scholar
  32. 32.
    Mierswa, I., Wurst, M., Klinkenberg, R., Scholz, M., Euler, T.: YALE: Rapid prototyping for complex data mining tasks. In: Proceedings of the ACM SIGKDD Conference on Knowledge Discovery and Data Mining, pp. 935–940, Philadelphia, PA, USA, 20–23 August 2006. doi:10.1145/1150402.1150531Google Scholar
  33. 33.
    Mishra, N., Schreiber, R., Stanton, I., Tarjan, R.: Clustering social networks. In: Proceedings of the International Workshop on Algorithms and Models for the Web-Graph. Lecture Notes in Computer Science, vol. 4863, pp. 56–67, San Diego, CA, USA, 11–12 December 2007. doi:10.1007/978-3-540-77004-6_5Google Scholar
  34. 34.
    Morville, P.: Ambient Findability: What We Find Changes Who We Become. O’Reilly, Sebastopol (2005)Google Scholar
  35. 35.
    Pol, M., Teunissen, R., van Veenendaal, E.: Software Testing: A Guide to the TMap Approach. Pearson, Reading (2002)Google Scholar
  36. 36.
    Porter, M.F.: An algorithm for suffix stripping. Program 14(3), 130–137 (1980). doi:10.1108/ eb046814CrossRefGoogle Scholar
  37. 37.
    Raja, U.: All complaints are not created equal: Text analysis of open source software defect reports. Empir. Software Eng. 18(1), 117–138 (2013). doi:10.1007/s10664-012-9197-9CrossRefGoogle Scholar
  38. 38.
    Reis, C.R., Fortes, R.P.d.M.: An overview of the software engineering process and tools in the Mozilla project. In: Proceedings of the Workshop on Open Source Software Development, pp. 155–175, Orlando, FL, USA, 2002Google Scholar
  39. 39.
    Robertson, S., Zaragoza, H.: The probabilistic relevance framework: BM25 and beyond. Found. Trends Inform. Retrieval 3(4), 333–389 (2009). doi:10.1561/1500000019CrossRefGoogle Scholar
  40. 40.
    Runeson, P., Alexandersson, M., Nyholm, O.: Detection of duplicate defect reports using natural language processing. In: Proceedings of the ACM/IEEE International Conference on Software Engineering, pp. 499–510, Atlanta, Georgia, USA, 5–9 November 2007. doi:10.1109/ICSE.2007.32Google Scholar
  41. 41.
    Russell, S.J., Norvig, P.: Artificial Intelligence: A Modern Approach, 3rd edn. Prentice Hall, Englewood Cliffs, NJ (2009)Google Scholar
  42. 42.
    Seichter, D., Dhungana, D., Pleuss, A., Hauptmann, B.: Knowledge management in software ecosystems: Software artefacts as first-class citizens. In: Companion to the European Conference on Software Architecture, pp. 119–126, Copenhagen, Denmark, 23–26 August 2010. doi:10.1145/1842752.1842780Google Scholar
  43. 43.
    Serrano, N., Ciordia, I.: Bugzilla, ITracker, and other bug trackers. IEEE Software 22(2), 11–13 (2005). doi:10.1109/MS.2005.32CrossRefGoogle Scholar
  44. 44.
    Sim, S.E., Holt, R.C.: The ramp-up problem in software projects: A case study of how software immigrants naturalize. In: Proceedings of the ACM/IEEE International Conference on Software Engineering, pp. 361–370, Kyoto, Japan, 19–25 April 1998. doi:10.1109/ ICSE.1998.671389Google Scholar
  45. 45.
    Sun, C., Lo, D., Khoo, S.C., Jiang, J.: Towards more accurate retrieval of duplicate bug reports. In: Proceedings of the IEEE/ACM International Conference on Automated Software Engineering, pp. 253–262, Lawrence, KS, USA, 6–10 November 2011. doi:10.1109/ASE.2011.6100061Google Scholar
  46. 46.
    Sun, C., Lo, D., Wang, X., Jiang, J., Khoo, S.C.: A discriminative model approach for accurate duplicate bug report retrieval. In: Proceedings of the ACM/IEEE International Conference on Software Engineering, pp. 45–54, Cape Town, South Africa, 1–8 May 2010. doi:10.1145/1806799.1806811Google Scholar
  47. 47.
    Sureka, A., Jalote, P.: Detecting duplicate bug report using character N-gram-based features. In: Proceedings of the Asia–Pacific Software Engineering Conference, pp. 366–374, Sydney, Australia, 30 November–03 December 2010. doi:10.1109/APSEC.2010.49Google Scholar
  48. 48.
    Terveen, L., Hill, W.: Beyond recommender systems: Helping people help each other. In: Carroll, J.M. (ed.) Human–Computer Interaction in the New Millennium. Addison-Wesley, Reading, MA (2001)Google Scholar
  49. 49.
    Wang, X., Zhang, L., Xie, T., Anvik, J., Sun, J.: An approach to detecting duplicate bug reports using natural language and execution information. In: Proceedings of the ACM/IEEE International Conference on Software Engineering, pp. 461–470, Leipzig, Germany, 10–18 May 2008. doi:10.1145/1368088.1368151Google Scholar
  50. 50.
    Weiss, C., Premraj, R., Zimmermann, T., Zeller, A.: How long will it take to fix this bug? In: Proceedings of the International Workshop on Mining Software Repositories, Minneapolis, MN, USA, 19–20 May 2007. doi:10.1109/MSR.2007.13Google Scholar
  51. 51.
    Ying, A.T.T., Robillard, M.: Developer profiles for recommendation systems. In: Robillard, M., Maalej, W., Walker, R.J., Zimmermann, T. (eds.) Recommendation Systems in Software Engineering, Chap. 8. Springer, New York (2014)Google Scholar
  52. 52.
    Zantout, H., Marir, F.: Document management systems from current capabilities towards intelligent information retrieval: An overview. Int. J. Inform. Manag. 19(6), 471–484 (1999). doi:10.1016/S0268-4012(99)00043-2CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2014

Authors and Affiliations

  1. 1.Department of Computer ScienceLund UniversityLundSweden

Personalised recommendations