lkml.org 
[lkml]   [2005]   [Jul]   [13]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectCP-Miner: A Tool for Finding Copy-paste and Related Bugs in Operating System Code

FYI, CP-Miner has binary-only version has been released
for academic use.

http://opera.cs.uiuc.edu/Projects/ARTS/CP-Miner.htm

By Zhenmin Li, Shan Lu, Suvda Myagmar and Yuanyuan Zhou

Published in Proceedings of the Sixth Symposium on Operating System Design
and Implementation (OSDI'04), Dec. 2004

Copy-pasted code is very common in large software because programmers
prefer reusing code via copy-paste in order to reduce programming effort.
Copy-paste is prone to introducing bugs. Recent studies show that a
significant portion of operating system bugs concentrate in copy-pasted
code. Unfortunately, it is very 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-paste. Furthermore, few tools are available to detect copy-paste
related bugs.

In this paper, we propose a tool, called CP-Miner, that uses data mining
techniques to efficiently identify copy-pasted code in large software
including operating systems, and detect copy-paste related bugs.
Specifically, it takes less than 20 minutes for CP-Miner to identify
190,000 and 150,000 copy-pasted segments in Linux and FreeBSD,
respectively. The copy-pasted code accounts for 20-22% of code in Linux and
FreeBSD. Similarly, CP-Miner also identifies many copy-pasted segments in
the Apache Web Server and PostgresSQL, which account for 17.7-22% of code
in these software.

Moreover, CP-Miner has detected 49 and 31 copy-paste related bugs in the
latest versions of Linux and FreeBSD, respectively. Some of these bugs have
been reported by us to the open source community and are then fixed by the
developers.


-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/

\
 
 \ /
  Last update: 2005-07-13 19:18    [W:0.027 / U:0.072 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site