Abstract
Due to the increasing of software requirements and software features, modern software systems continue to grow in size and complexity. Locating source code entities that required to implement a feature in millions lines of code is labor and cost intensive for developers. To this end, several studies have proposed the use of Information Retrieval (IR) to rank source code entities based on their textual similarity to an issue report. The ranked source code entities could be at a class or function granularity level. Source code entities at the class-level are usually large in size and might contain a lot of functions that are not implemented for the feature. Hence, we conjecture that the class-level feature location technique requires more effort than function-level feature location technique. In this paper, we investigate the impact of granularity levels on a feature location technique. We also presented a new evaluation method using effort-based evaluation. The results indicated that function-level feature location technique outperforms class-level feature location technique. Moreover, function-level feature location technique also required 7 times less effort than class-level feature location technique to localize the first relevant source code entity. Therefore, we conclude that feature location technique at the function-level of program elements is effective in practice.
Access provided by Autonomous University of Puebla. Download to read the full chapter text
Chapter PDF
Similar content being viewed by others
References
Canfora, G., Cimitile, A., Garcia, F., Piattini, M., Visaggio, C.A.: Evaluating performances of pair designing in industry. Journal of Systems and Software 80(8), 1317–1327 (2007)
Zhou, J., Zhang, H., Lo, D.: Where Should the Bugs Be Fixed? In: Proceedings of the 34th International Conference on Software Engineering (ICSE 2012), pp. 14–24 (2012)
Lukins, S.K., Kraft, N.A., Etzkorn, L.H.: Bug Localization Using Latent Dirichlet Allocation. Information and Software Technology 52(9), 972–990 (2010)
Wang, S., Khomh, F., Zou, Y.: Improving Bug Localization using Correlations in Crash Reports. In: Proceedings of the 10th Working Conference on Mining Software Repositories, MSR 2013 (2013)
Hata, H., Mizuno, O., Kikuno, T.: Bug Prediction Based on Fine-Grained Module Histories. In: Proceedings of the 34th International Conference on Software Engineering (ICSE 2012), pp. 200–210 (June 2012)
Dit, B., Revelle, M., Gethers, M., Poshyvanyk, D.: Feature Location in Source Code: A Taxonomy and Survey. Journal of Software: Evolution and Process 25(1), 53–95 (2013)
Manning, C.D., Raghavan, P., Schütze, H.: Introduction to Information Retrieval, vol. c. Cambridge Unviersity Press, New York (2008)
Tantithamthavorn, C., Teekavanich, R., Ihara, A., Matsumoto, K.: Mining A Change History to Quickly Identify Bug Locations: A Case Study of the Eclipse Project. In: Proceedings of the 2013 IEEE International Symposium on Software Reliability Engineering Workshops (ISSREW 2013), pp. 108–113 (2013)
Tantithamthavorn, C., Ihara, A., Matsumoto, K.: Using Co-change Histories to Improve Bug Localization Performance. In: Proceedings of the 14th IEEE/ACIS International Conference on Software Engineering, Artificial Intelligence, Networking and Parallel/Distributed Computing (SNPD 2013), pp. 543–548 (July 2013)
Giger, E., D’Ambros, M., Pinzger, M., Gall, H.C.: Method-Level Bug Prediction. In: Proceedings of the ACM-IEEE International Symposium on Empirical Software Engineering and Measurement (ESEM 2012), pp. 171–180 (2012)
Arisholm, E., Briand, L.C., Johannessen, E.B.: A Systematic and Comprehensive Investigation of Methods to Build and Evaluate Fault Prediction Models. Journal of Systems and Software 83(1), 2–17 (2010)
Hata, H., Mizuno, O., Kikuno, T.: Historage: Fine-grained Version Control System for Java. In: Proceedings of the 12th International Workshop on Principles of Software Evolution (IWPSE 2011), pp. 96–100 (2011)
Zimmermann, T., Zeller, A.: When Do Changes Induce Fixes? ACM SIGSOFT Software Engineering Notes 30(4), 1–5 (2005)
Sinha, V.S., Mani, S., Mukherjee, D.: Is Text Search an Effective Approach for Fault Localization: A Practitioners Perspective. In: Proceedings of the 3rd Annual Conference on Systems, Programming, and Applications: Software for Humanity (SPLASH 2012), pp. 159–170 (2012)
Hill, E.: On the Use of Stemming for Concern Location and Bug Localization in Java. In: Proceedings of the 12th International Working Conference on Source Code Analysis and Manipulation (SCAM 2012), pp. 184–193 (2012)
Croft, B., Metzler, D., Strohman, T.: Search Engines: Information Retrieval in Practice. Addison-Wesley (2010)
Bird, C., Bachmann, A., Aune, E., Duffy, J., Bernstein, A., Filkov, V., Devanbu, P.: Fair and Balanced? Bias in Bug-Fix Datasets Categories and Subject Descriptors. In: Proceedings of the the 7th Joint Meeting of the European Software Engineering Conference and the ACM SIGSOFT Symposium on the Foundations of Software Engineering (FSE 2009), pp. 121–130 (2009)
Nguyen, A.T., Nguyen, T.T., Nguyen, H.A., Nguyen, T.N.: Multi-Layered Approach for Recovering Links Between Bug Reports and Fixes. In: Proceedings of the ACM SIGSOFT 20th International Symposium on the Foundations of Software Engineering (FSE 2012), pp. 1–11 (2012)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2014 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Tantithamthavorn, C., Ihara, A., Hata, H., Matsumoto, K. (2014). Impact Analysis of Granularity Levels on Feature Location Technique. In: Zowghi, D., Jin, Z. (eds) Requirements Engineering. Communications in Computer and Information Science, vol 432. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-662-43610-3_11
Download citation
DOI: https://doi.org/10.1007/978-3-662-43610-3_11
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-662-43609-7
Online ISBN: 978-3-662-43610-3
eBook Packages: Computer ScienceComputer Science (R0)