Google Tech Talk June 24, 2010 Presented by Dr. Nicholas A. Kraft. ABSTRACT Because 50% to 90% of developer effort during software maintenance is spent on program comprehension activities, techniques and tools that can reduce the effort spent by developers on these activities are required to reduce maintenance costs. One characteristic of a software system that can adversely affect its comprehensibility is the presence of similar or identical segments of code, or code clones. To promote developer awareness of the existence of code clones in a system, researchers recently have directed much attention to the problem of detecting these clones; these researchers have developed techniques and tools for clone detection and have discovered that significant portions of popular software systems such as the Linux kernel are cloned code. However, knowledge of the existence of clones is not sufficient to allow a developer to perform maintenance tasks correctly and completely in the presence of clones. Proper performance of these tasks requires a deep and complete understanding of the relationships among the clones in a system. Thus, new techniques and tools that will assist developers in the analysis of large numbers of clones are a critical need. In this talk I will describe preliminary work on code clone categorization that I am leading at The University of Alabama. In particular, I will describe the development of techniques and tools for categorization of code clones using structural and semantic properties of the clones. Specific research outcomes that we are working towards include: (1) a suite of metrics for measuring the congruence and complementarity of a number of static program representations that capture structural properties of the clones, (2) a process to categorize code clones based on these metrics, and (3) serial and integrated processes that combine structural categorization of code clones and semantic categorization of code clones. Bio: Nicholas A. Kraft is an assistant professor in the Department of Computer Science at The University of Alabama. He received his Ph.D. in computer science from the School of Computing at Clemson University. His research interests are in software engineering and languages, particularly source-code based reverse engineering techniques and tools for software understanding and maintenance. He has published on these topics in IEEE Transactions on Software Engineering, Science of Computer Programming, Information and Software Technology, and the Journal of Systems and Software. His current work is supported by four grants from the National Science Foundation. He has served on the program committees of conferences such as the International Conference on Program Comprehension and the International Conference on Software Language Engineering.
Get notified about new features and conference additions.