Seminar by Dr. Chanchal Roy (University of Saskatchewan)
Speaker: Dr. Chanchal Roy (University of Saskatchewan)
Title: Large Scale Clone Detection, Benchmarking, and Their Applications
Date: Monday, June 3rd, 2019
Copying a code fragment and then reusing it by pasting and adapting (e.g., adding/modifying/deleting statements) is a common practice in software development, resulted in a significant amount of duplicated code in software systems. On the other hand, duplicated code poses a number of threats to the maintenance of software systems such as clones are the #1 “bad smell” in Fowler’s refactoring list. Software clones are thus considered to be one of the major contributors to the high software maintenance cost, which could be up to 80% of the total software development cost. The era of Big Data has introduced new applications for clone detection. For example, clone detection has been used to find similar mobile applications, to intelligently tag code snippets, to identify code examples, and so on from large inter-project repositories. The dual role of clones in software development and maintenance, along with these many emerging new applications of clone detection, has led to a great many clone detection tools and analysis frameworks. In this talk, I will outline our experience in developing clone detection tools from large-scale inter-projects code repositories using even a desktop machine with standard hardware configurations. I will then also talk about how do we evaluate such large-scale clone detection tools using our BigCloneBench, a clone benchmark of more than eight million manually validated clone pairs in 25 thousand Java projects. I will conclude the talk with some future research directions in cloning and their applications.
Chanchal K. Roy is Associate Professor of Software Engineering at the University of Saskatchewan, Canada. He is the co-lead of the Big Data Analytics group of an NSERC Canada First Research Excellence Fund (CFREF) on Food security. As the co-author of the widely used NICAD code clone detection system, he has published more than 150 refereed publications that have been cited more than 4600 times. His contributions to the software maintenance community, and particularly to the software clones community, have been highly influential, recently winning Most Influential Paper awards at both SANER 2018 and ICPC 2018. Recently, he has been recognized with the New Scientist Research Award of the College of Arts and Science of the University of Saskatchewan and the New Researcher Award of the University. He is one of three Canadian computer scientists honoured with a prestigious award for young researchers, a 2018 Outstanding Young Computer Science Researcher Award by CS-Can/Info-Can, a national, non-profit society dedicated to representing all aspects of computer science and the interests of the discipline across Canada. Dr. Roy was a vision keynote speaker at WCRE/CSMR 2014 on software clones, and a keynote speaker at both IWSC 2018 and IEEE R10HTC 2018. He serves widely on the program committees of major software engineering conferences such as ICSE, ICSME, SANER, MSR, ICPC and SCAM, and has been regular reviewers of the major journals in Software Engineering. He served (has been serving) as chairs and/or program committee members in most of the conferences of his area including General Chair for ICPC 2014, SCAM 2019, IWSC 2015 and Program Co-chairs for ICPC 2018. Dr. Roy works in the broad area of software engineering, with particular emphasis on software evolution and maintenance, recommender systems in software engineering, automated software debugging, and big data analytics in software engineering.