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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Similar content being viewed by others
Notes
- 1.
Functional safety—Safety instrumented systems for the process industry sector.
- 2.
Functional safety of Electrical/Electronic/Programmable Electronic safety-related systems.
References
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.1117704
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.2000794
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.1806821
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.4658082
Boehm, B., Basili, V.: Software defect reduction top 10 list. Computer 34(1), 135–137 (2001). doi:10.1109/2.962984
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.
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 2013a
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.18
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)
Čubranić, D.: Project history as a group memory: Learning from the past. Ph.D. thesis, University of British Columbia (2004)
Č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 2004
Č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.71
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-9
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-1
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/01972240490507974
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.5463340
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.6227172
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.1806871
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)
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.4630070
Johnson, J., Dubois, P.: Issue tracking. Comput. Sci. Eng. 5(6), 71–77 (2003). doi:10.1109/ MCISE.2003.1238707
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.124
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.4639063
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.008
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_6
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
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.5463284
Liu, T.Y.: Learning to Rank for Information Retrieval. Springer, Berlin, Heidelberg (2011). doi:10.1007/978-3-642-14267-3
Manning, C.D., Raghavan, P., Schutze, H.: Introduction to Information Retrieval. Cambridge University Press, Cambridge (2008)
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)
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.4658083
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.1150531
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_5
Morville, P.: Ambient Findability: What We Find Changes Who We Become. O’Reilly, Sebastopol (2005)
Pol, M., Teunissen, R., van Veenendaal, E.: Software Testing: A Guide to the TMap Approach. Pearson, Reading (2002)
Porter, M.F.: An algorithm for suffix stripping. Program 14(3), 130–137 (1980). doi:10.1108/ eb046814
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-9
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, 2002
Robertson, S., Zaragoza, H.: The probabilistic relevance framework: BM25 and beyond. Found. Trends Inform. Retrieval 3(4), 333–389 (2009). doi:10.1561/1500000019
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.32
Russell, S.J., Norvig, P.: Artificial Intelligence: A Modern Approach, 3rd edn. Prentice Hall, Englewood Cliffs, NJ (2009)
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.1842780
Serrano, N., Ciordia, I.: Bugzilla, ITracker, and other bug trackers. IEEE Software 22(2), 11–13 (2005). doi:10.1109/MS.2005.32
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.671389
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.6100061
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.1806811
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.49
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)
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.1368151
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.13
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)
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-2
Acknowledgments
This work was funded by the IndustrialExcellenceCenterEASE—EmbeddedApplicationsSoftwareEngineering. Thanks go to the developers of Hipikat for providing related material.
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2014 Springer-Verlag Berlin Heidelberg
About this chapter
Cite this chapter
Borg, M., Runeson, P. (2014). Changes, Evolution, and Bugs. In: Robillard, M., Maalej, W., Walker, R., Zimmermann, T. (eds) Recommendation Systems in Software Engineering. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-45135-5_18
Download citation
DOI: https://doi.org/10.1007/978-3-642-45135-5_18
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-45134-8
Online ISBN: 978-3-642-45135-5
eBook Packages: Computer ScienceComputer Science (R0)