Impact Analysis of Granularity Levels on Feature Location Technique

  • Chakkrit Tantithamthavorn
  • Akinori Ihara
  • Hideaki Hata
  • Kenichi Matsumoto
Part of the Communications in Computer and Information Science book series (CCIS, volume 432)


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.


Feature Location Granularity Level Effort-Based Evaluation 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    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)CrossRefGoogle Scholar
  2. 2.
    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)Google Scholar
  3. 3.
    Lukins, S.K., Kraft, N.A., Etzkorn, L.H.: Bug Localization Using Latent Dirichlet Allocation. Information and Software Technology 52(9), 972–990 (2010)CrossRefGoogle Scholar
  4. 4.
    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)Google Scholar
  5. 5.
    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)Google Scholar
  6. 6.
    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)Google Scholar
  7. 7.
    Manning, C.D., Raghavan, P., Schütze, H.: Introduction to Information Retrieval, vol. c. Cambridge Unviersity Press, New York (2008)Google Scholar
  8. 8.
    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)Google Scholar
  9. 9.
    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)Google Scholar
  10. 10.
    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)Google Scholar
  11. 11.
    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)CrossRefGoogle Scholar
  12. 12.
    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)Google Scholar
  13. 13.
    Zimmermann, T., Zeller, A.: When Do Changes Induce Fixes? ACM SIGSOFT Software Engineering Notes 30(4), 1–5 (2005)Google Scholar
  14. 14.
    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)Google Scholar
  15. 15.
    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)Google Scholar
  16. 16.
    Croft, B., Metzler, D., Strohman, T.: Search Engines: Information Retrieval in Practice. Addison-Wesley (2010)Google Scholar
  17. 17.
    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)Google Scholar
  18. 18.
    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)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2014

Authors and Affiliations

  • Chakkrit Tantithamthavorn
    • 1
  • Akinori Ihara
    • 1
  • Hideaki Hata
    • 1
  • Kenichi Matsumoto
    • 1
  1. 1.Software Engineering Laboratory, Graduate School of Information ScienceNara Institute of Science and TechnologyJapan

Personalised recommendations