OSDI '04 Abstract
Pp. 289302 of the Proceedings
CP-Miner: A Tool for Finding Copy-paste and Related Bugs in Operating System Code
Zhenmin Li, Shan Lu, Suvda Myagmar, and Yuanyuan Zhou, University of Illinois at Urbana-Champaign
Abstract
Copy-pasted code is very common in large software because programmers
prefer reusing code via copy-paste in order to reduce programming
effort. Recent studies show that copy-paste is prone to introducing
bugs and a significant portion of operating system bugs concentrate in
copy-pasted code. Unfortunately, it is challenging to efficiently
identify copy-pasted code in large software. Existing copy-paste
detection tools are either not scalable to large software, or cannot
handle small modifications in copy-pasted code. Furthermore, few
tools are available to detect copy-paste related bugs.
In this paper we propose a tool, CP-Miner, that uses data mining
techniques to efficiently identify copy-pasted code in large software
including operating systems, and detects copy-paste related bugs.
Specifically, it takes less than 20 minutes for CP-Miner to identify
190,000 copy-pasted segments in Linux and 150,000 in FreeBSD.
Moreover, CP-Miner has detected 28 copy-paste related bugs in the
latest version of Linux and 23 in FreeBSD. In addition, we analyze
some interesting characteristics of copy-paste in Linux and FreeBSD,
including the distribution of copy-pasted code across different
length, granularity, modules, degrees of modification, and various
software versions.
- View the full text of this paper in HTML and
PDF.
Until December 2005, you will need your USENIX membership identification in order to access the full papers. The Proceedings are published as a collective work, © 2004 by the USENIX Association. All Rights Reserved. Rights to individual papers remain with the author or the author's employer. Permission is granted for the noncommercial reproduction of the complete work for educational or research purposes. USENIX acknowledges all trademarks within this paper.
- If you need the latest Adobe Acrobat Reader, you can download it from Adobe's site.
|