Title: Yii Yong Lee
1?????????????????????????????
- ?????
- ??????2?
- Yii Yong Lee
2??
- ?????????????????????????????????????????????????
- ????
- ????
- ???????
- ????
- ????
- ?????????
3???????
- ?????????????????????????????????
- ???????????????????????????
4?????????????
- ???????????????????
- ????????????????????
- ??????????
- ?????????????? ?????
- ??????????????????????????????
- ?????????????
5????????
File Linux-2.6.6/drivers/pci/hotplug/shpchp_ctrl.
c 1497 rc p_slot-gthpc_ops-gtcheck_cmd_status(c
trl) 1498 if (rc) 1499 err("s Failed
to enable slot, error code(d)\n",
__FUNCTION__, rc) ..... 1501
up(ctrl-gtcrit_sect) 1502 return rc 1503
...... 1573 retval
p_slot-gthpc_ops-gtcheck_cmd_status(ctrl) 1574
if (retval) 1575 err("s Failed to disable
slot, error code(d)\n", __FUNCTION__,
rc) 1576 1577 up(ctrl-gtcrit_sect) 1578
return retval 1579
????1
????2
Retval??????
6???????
- ?????????????????????????
- Linux?????????12???????????????
- ??????????????????????????
- ??????????????????????
- ????????????????????
- ?????????????
- ???????????????
7????
???????
?????????
???????????
???????
???????
?????????
????
????
????????????????????
??????????????????????
???????????????????????????????????
??????????????????????????
????????????????????????????????????
8????
127 o_count v_count 128 o_var
variables 129 130 v_count STORE_INCR 131
variables (char ) malloc (v_countsizeof(char
)) 132 133 for (indx 3 indx lt o_count
indx) 134 variablesindx
o_varindx 135 136 for ( indx lt v_count
indx) 137 variablesindx NULL
...... 161 o_count a_count 162 o_ary
arrays 163 164 a_count STORE_INCR 165
arrays (char ) malloc (a_countsizeof(char
)) 166 167 for (indx 1 indx lt o_count
indx) 168 variablesindx
o_aryindx 169 170 for ( indx lt v_count
indx) 171 listsindx NULL
o_count
v_count
o_var
varse
STORE_INCR
v_count
(
char
)
(
varse
malloc
v_count
sizeof
(
)
char
)
for
indx
(
)
1
indx
lt
o_count
indx
varse
indx
o_var
indx
for
(
)
indx
lt
v_count
indx
varse
indx
NULL
o_count
a_count
o_ary
arrays
STORE_INCR
a_count
(
char
)
(
arrays
malloc
a_count
sizeof
(
)
char
)
for
indx
(
)
1
indx
lt
o_count
indx
varse
indx
o_ary
indx
for
(
)
indx
lt
v_count
indx
lists
indx
NULL
9???????
????1
????2
?????????
????1 ????2 ??
varse arrays 2
varse lists 1
varse varse 1
v_count a_count 4
v_count v_count 1
o_count o_count 2
o_var o_ary 2
???????? ???
????????
10?????????
- ?????????????????
- 2????????
- ??????????????
- ??????????????
- ???????????????????????????????
- UnchangedRatio
- Conflict
11UnchangedRatio
NumOfUnchangedID Un
changedRatio
TotalNumOfID
- ???????????????????????????????
- ?????????????????????????????????????????????????
????????????????? - UnchangedRatio?0?????????????????????????????
- ???????????
- UnchangedRatio?0????1??????????????????
- UnchangedRatio0?????????????????
- UnchangedRatio1??????????????????
12UnchangedRatio????
????1 ????2 ?? UnchangedRatio
v_count a_count 4 0.20
v_count v_count 1 0.20
varse arrays 2 0.25
varse lists 1 0.25
varse varse 1 0.25
- v_count?UnchangedRatio?0.20???
- ??????5???????
- ????2?1?????????
13Conflict
- ?????????????????????? Conflict true
- ???????????????????????????????????
- ???????????
????1 ????2 ?? UnchangedRatio Conflict
v_count a_count 4 0.20 False
v_count v_count 1 0.20 False
varse arrays 2 0.25 True
varse lists 1 0.25 True
varse varse 1 0.25 True
14?????????
????1 ????2 ?? UnchangedRatio Conflict
v_count a_count 4 0.20 False
v_count v_count 1 0.20 False
????????? ????????? ??? UnchangedRatio
????1 ????2 v_count 0.20
15???????
- ????C?Java
- ???????? Java
- ????????????????????????CCFinder???
- ????????????????JFLEX??????
- ???????????????????GUI???
16????GUI
???????
?????????
?????????
17????
- ????????????????????????????
- ??Linux kernel 2.6.6
- ????? 6,491
- LOC ?400?
- ????
- ????????????30
- UnchangedRatio???0.4
18???????
????? ????? ??? ????? ???????????????
Linux-2.6.6/arch 2,355 724,858 87 1,615
Linux-2.6.6/drivers 2,323 2,344,594 120 3,637
- arch???????87??drivers???????120????????????
- ??????????????????????????0.25??
19???????
????? ???????? ????????? ??
arch 3 5 87
- ????Linux??????Linux-2.6.6???????????
- ????????3?
- ????????????5?
- ????????????? 8 ???????????
20?????????
- ???
- ?????????????????????????
- ????????????????????????????????????????
- ???????????????????
- ?????
- ????????????????
- ????????
21???
22??????????????????
Module Before RNR Filtering Before RNR Filtering After RNR Filtering After RNR Filtering
Module With Overlapping Clone Without Overlapping Clone With Overlapping Clone Without Overlapping Clone
Linux-2.6.6/arch 16,740,180 14,977,660 23,599 19,273
Linux-2.6.6/drivers 8,325,367 7,888,115 60,706 56,260
23False Positive???
24?????