Your browser does not support JavaScript!
http://iet.metastore.ingenta.com
1887

Approach for solving the feature location problem by measuring the component modification impact

Approach for solving the feature location problem by measuring the component modification impact

For access to this article, please select a purchase option:

Buy article PDF
£12.50
(plus tax if applicable)
Buy Knowledge Pack
10 articles for £75.00
(plus taxes if applicable)

IET members benefit from discounts to all IET publications and free access to E&T Magazine. If you are an IET member, log in to your account and the discounts will automatically be applied.

Learn more about IET membership 

Recommend Title Publication to library

You must fill out fields marked with: *

Librarian details
Name:*
Email:*
Your details
Name:*
Email:*
Department:*
Why are you recommending this title?
Select reason:
 
 
 
 
 
IET Software — Recommend this title to your library

Thank you

Your recommendation has been sent to your librarian.

Maintaining a large software system is an inherently difficult task that often involves locating and comprehending system features prior to performing the actual maintenance task at hand. Feature location techniques were introduced to locate the source code components implementing specific software features. Common to these approaches is that they rely either on exercising several features of a system, and/or domain experts to guide the feature location process. In this study, the authors present a novel hybrid feature location approach that combines static and dynamic analysis techniques. Our approach uses a component dependency graph of the system to provide a ranking of the components according to their feature relevance. The ranking itself is based on the impact of a component modification on the remaining parts of a system. Our approach can almost be completely automated without requiring an extensive knowledge of the system. A case study performed on two open source projects is presented to evaluate the applicability and effectiveness of our approach.

References

    1. 1)
      • Law, J., Rothermel, G.: `Whole program path-based dynamic impact analysis', Proc. 25th Int. Conf. Software Engineering, 2003, p. 308–318.
    2. 2)
      • Greevy, O., Ducasse, S., Girba, T.: `Analyzing feature traces to incorporate the semantics of change in software evolution analysis', Proc. 21st IEEE Int. Conf. Software Maintenance, 2005, p. 347–356.
    3. 3)
      • Salah, M., Mancoridis, S.: `A hierarchy of dynamic software views: from object-interactions to feature-interactions', Proc. 20th IEEE Int. Conf. Software Maintenance, 2004, p. 72–81.
    4. 4)
    5. 5)
      • Rohatgi, A., Hamou-Lhadj, A., Rilling, J.: `Feature location based on impact analysis', Proc. Conf. Software Engineering and Applications, 2007, ACTA Press.
    6. 6)
      • N.E. Gold , M. Harman , D. Binkley , R.M. Hierons . Unifying program slicing and concept assignment for higher-level executable source code extraction. J. Softw. – Pract. Exp. , 10 , 977 - 1006
    7. 7)
      • Calder, B., Grijnwald, D.: `Reducing indirect function call overhead in C++ programs', Proc. 21st ACM Symp. Principles of Programming Languages (POPL), 1994, p. 397–408.
    8. 8)
      • Bacon, D.F., Sweeney, P.F.: `Fast static analysis of C++ Virtual function calls', Proc. 10th Conf. Object-Oriented Programming Systems, Languages, and Applications, 1996, p. 324–341.
    9. 9)
      • D. Poshyvanyk , Y.G. Gueheneuc , A. Marcus , G. Antoniol , V. Rajlich . Feature location using probabilistic ranking of methods based on execution scenarios and information retrieval. IEEE Trans. Softw. Eng. , 6 , 420 - 432
    10. 10)
      • Eisenberg, D., De Volder, K.: `Dynamic feature traces: finding features in unfamiliar code', Proc. 21st IEEE Int. Conf. Software Maintenance, 2005, p. 337–346.
    11. 11)
      • R. Martin . Object oriented design quality metrics: an analysis of dependencies. ROAD , 3
    12. 12)
    13. 13)
      • Dean, J., Grove, D.: `Optimization of object-oriented programs using static class hierarchy analysis', Proc. 9th European Conf. Object-Oriented Programming, 1995, p. 77–101, (LNCS, 952, Springer-Verlag).
    14. 14)
      • Kothari, J., Denton, T., Mancoridis, S., Shokoufandeh, A.: `On computing the canonical features of software systems', Proc. 13th IEEE Working Conf. Reverse Engineering, 2006, p. 93–102.
    15. 15)
      • S. Deerwester , S.T. Dumais , G.W. Furnas , T.K. Landauer , R. Harshman . Indexing by latent semantic analysis. J. Am. Soc. Inf. Sci. , 6 , 391 - 407
    16. 16)
      • Robillard, M.P., Murphy, G.C.: `FEAT: a tool for locating, describing, and analyzing concerns in source code', Proc. 25th Int. Conf. Software Engineering, 2003, p. 822–823.
    17. 17)
      • D. Binkley , N. Gold , M. Harman , Z. Li , K. Mahdavi . An empirical study of the relationship between the concepts expressed in source code and dependence. J. Syst. Softw. , 12 , 2287 - 2298
    18. 18)
      • T. Eisenbarth , R. Koschke , D. Simon . Locating features in source code. IEEE Trans. Softw. Eng. , 3 , 210 - 224
    19. 19)
      • J. Koenemann , S. Robertson . (1991) Expert problem solving strategies for program comprehension.
    20. 20)
      • R. Brooks . Towards a theory of the comprehension of computer programs. Int. J. Man–Mach. Stud. , 6 , 542 - 554
    21. 21)
      • M. Lanza , R. Marinescu . (2006) Object-oriented metrics in practice.
    22. 22)
      • Hamou-Lhadj, A., Lethbridge, T.: `Summarizing the content of large traces to facilitate the understanding of the behaviour of a software system', Proc. 12th Int. Conf. Program Comprehension, 2006, p. 181–190.
    23. 23)
      • Hamou-Lhadj, A., Braun, E., Amyot, D., Lethbridge, T.: `Recovering behavioral design models from execution traces', Proc. IEEE European Conf. Software Maintenance and Reengineering, 2005, p. 112–121.
    24. 24)
      • Quinlan, J.R.: `Learning with continuous classes', Proc. 5th Australian Joint Conf. Artificial Intelligence, 1992, p. 343–348.
    25. 25)
      • W.E. Wong , S. Gokhale . Static and dynamic distance metrics for feature-based code analysis. J. Syst. Softw. , 3 , 283 - 295
    26. 26)
      • Rohatgi, A., Hamou-Lhadj, A., Rilling, J.: `An approach for mapping features to code based on static and dynamic analysis', Proc. 16th IEEE Int. Conf. Program Comprehension, 2008, p. 236–241.
    27. 27)
      • Poshyvanyk, D., Marcus, D.: `Combining formal concept analysis with information retrieval for concept location in source code', Proc. 15th IEEE Int. Conf. Program Comprehension, 2007, p. 37–48.
    28. 28)
      • Gold, N.E., Harman, M., Li, Z., Mahdavi, K.: `Allowing overlapping boundaries in source code using a search based approach to concept binding', Proc. 22nd Conf. Software Maintenance and Evolution, 2006, p. 310–319.
    29. 29)
      • Hamou-Lhadj, A., Lethbridge, T.: `Reasoning about the concept of utilities', ECOOP Int. Workshop on Practical Problems of Programming in the Large, 2004, p. 10–22, (LNCS, 3344).
    30. 30)
      • UML 2.0 Specification: www.omg.org/uml. Last visit: December 2008.
    31. 31)
      • Lee, H., Zorn, B.G.: `A tool for instrumenting Java bytecodes', Proc. USENIX Symp. Internet technologies and Systems, 1997, p. 73–82.
    32. 32)
      • I.H. Witten , E. Frank . (1999) Data mining: practical machine learning tools and techniques with Java implementations.
    33. 33)
      • N. Wilde , M. Scully . Software reconnaissance: mapping program features to code. J. Softw. Maint.: Res. Pract. , 1 , 49 - 62
    34. 34)
      • R.J. Turver , M. Munro . An early impact analysis technique for software maintenance. J. Softw. Maint.: Res. Pract. , 1 , 35 - 52
http://iet.metastore.ingenta.com/content/journals/10.1049/iet-sen.2008.0078
Loading

Related content

content/journals/10.1049/iet-sen.2008.0078
pub_keyword,iet_inspecKeyword,pub_concept
6
6
Loading
This is a required field
Please enter a valid email address