Title: ????,?????,LOC???????????
1????????????????????????
- ??????????
- ?????????????????
- ?????
- ?? ??
2??
- ?????????????????,???????????????????????,
?????????????? - ??????????????????????,???????????????
3???????
- ?????????
- ?????????????
- ????
- ???(???)
- ???????????,?????????????????????????
- ???????????????????????????????,????????
4??????????
- ?????????????????
- ???????????????????,???????????
- ??????
- ???,??????????????????
- ????????????
- ?????????????
- ????????????????????
- ????
- ?????
- ??
5?????????(???)
- ??????????????(???)??
- ??????????????????,???????
- ?????????????????,??????????
- ???(???)??
- ????,?????,LOC???????????
- ????????
- ??????????????????
- ????????????????????
- ??????????????
- ???(????)???
- ???????(??)
6??????????
- ?????
- ?????????????????????
- ??????
- ??????
- ????????????
- ?????????????????
- ?????
- ???????????????????????
- ???????????
7?????
- ?1?. ????
- ?2?.?????????????????????????????? 1-a-1
- ?3?.????????????????????????????????? 1-a-2
- ?4?.????????????????????????? 1-a-3
- ?5?.??????????????????????????? 1-a-4
- ?6?. ????
8??????????????????????????????
9??????
- ????????????????????,????????????????????????????
- ???????????????????????????1
- ???????????
- ??????????????????????????????2
- ????????,??????????,?????????????????????????,????
????????????
1J.Bantre, C.Bryce and D.Le Metayer
Compile-Time Detection of Information Flow in
Sequential Programs'', Proc.3rd ESORICS, LNCS
875, pp. 55--73, 1994. 2 ????, ????, ? ??,
???? "???????????????????????????????????????",
???????????D-I, Vol.J85-D-I, No.10, pp.961-973,
2002
10?????????(SC)
- ?????????????????????????????????
- ?SC??????????????
- ?????????????
- ???2??????,????????????
SC???????????
SC???????????
high(???)
??????????????????????
?
3
????????????????
1
2
????,?????????????? ????????????????????
?
low(???)
11???????
- ??????????????????????
- explicit flow ???????????
- implicit flow ??(????)????????????????
1 b 5 2 c 5 3 if ( c gt 0 ) then
begin 4 a b 5 end
12?????????????
- a (SC1) ????? b (SC2) ?????3???c
??????????? - ???? c ?????????????a ?b ????????????????????
- ???? c ?SC? a ? b ?SC?????????????(????SC 3)
3
1
2
?????????
1 readln(a) 2 readln(b) 3 c a b
explicit flow
13??????????
- ????????????????????,?????????????????,????
?????? - ??????????????
14?????????
- ??????????(PDG)?????????????
- PDG???????????????
- 2???????
- PDG?????????????????? 1-a-1
- ?????????????,???????????
- PDG????????????
- ?????????????PDG????????????
- PDG????????????
15??????????(Program Dependence Graph, PDG)
- ?????????????????????????????????
- ?????????????
- ???????
- ???????
- ??????
- ?????
16PDG????????????
- ???????????PDG????????????????????????
- ??????????,PDG??????????,??????????,??????????????
???????????? - ??????????????
- ?????????????PDG???????
- ???????????????????????????
- ????????????????????
17PDG??????????????
PDG
- PDG???
- SC????
- ??????????????
- ??????????????SC????????
- ??????????PDG?????????SC????
- ?????SC???????????????????
- ???????????SC????????
- ?????
?????????
18SC???????
- ?????????????SC???????
- ??????????
- ???????????????????????????????????????????
- ??????????????SC?????????????????
- ????????????????????????????????????????????SC???
??????? - ???????,??????????
- ??????????????
19?????????????(1/2)
- ?????????????(Osaka Slicing System)??????????
20??????????????(1/4)
????
main??
??
????
???????????
??????? ????????
????????????
return
?????????????????
????
????
??
?????????
???????
?????????
??????? ?????
????????? ?????
????????? ?????
21??????????????(2/4)
?????????????? ?? 4 ???? 3 ???? 5
??????? 6
6
4
3
5
????? ????SC
??????? 1
??????? 2
???????????? 3
??????? 4
???????????? 5
1
2
0
?????????
22??????????????(3/4)
- SC????????????
- ????????,3??????????????????
- ?????????SC?
- ????????????
- ???????
- ????????????
- ????????
- ???????????????????,????SC?low?????
6
3
5
4
1
2
0
?SC?????? ????SC?????????
?????????
23??????????????(4/4)
- ????SC?low??????????,???????SC?0????
- ?????????????,??????????????????
- ???????????,????????????????
- SC??????????????,????????????????
- ???????????????????
6
3
5
4
1
2
0
?SC?????? ????SC?????????
?????????
24???
- PDG?????????????????,????
- ??????????????????
- ????????,?????????
- SC?????????????????
25?????????????? ???????????
26??
- ???????????????????????????????????
- ??????????????????????????????????????
- ????????????????????????
- ???? ??????,??????, ??????
- ?????????????????????????????????????
- ???????????????????????????????????????
- ????????????????
27???????????
- ????????????????????????????
- ??????????????????????1
- ??????????????????????2
1 L. Etzkorn et al. Automated reusability
quality analysis of OO legacy software,''
Information and Software Technology, Vol. 43,
Issue 5, pp. 295-308 (2001). 2?? ?
???????????????????????????," FOSE2001, (2001).
28?????
- ????????????????????(Component Rank?)???
- ?????????????????????
- ??????????????????
- Java?????????????????
- ?????????????????
29Component Rank?
- ?????????????(Component Rank)???????
- ??????????????????
- ????????????????????????????????????
- ?????????????????
- ????
- ?????????????????
- ??????????,?????????????????????
30????????
- ???????????????????
- ??????????
- ???????
- ??????????????????
c4
c5
c1
c1'
c2
c2'
c3
(a) ??????
31?????????(1)
- ?????????????????????????????????????????
- ?????????????????????????
c4
c5
c1
c1'
c2
c2'
c3
(a) ??????
32?????????(2)
- ???????????????????????????????
- ????????????????
c4
c5
C4
C5
c1
c1'
C1
c2
c2'
c3
C2
C3
(a) ??????
33???????
- ?????????Component Rank????
- ?????????
- ????
- ?????????????
- ?????????1
- ???????????
- ??????,????????????????
- ??????????
- ????????????????,???????????????
- ????????????,2.3.?????????
- ??????????,??????????????????????
- ????????????????????
- ????????????????????Component Rank???
34Java???????????
??????????? ???????
Java ?????? (N?)
???????? ??????????? ??????,??
SMMT
?????? (SMMT)
???????? ???
???????? ????????
?????????? ?????
??????? ???
?????????
???????
N?????????
35????
- ????????????,Java?????????????????
- ?????????????????
- ????
- JDK1.3.0
- ???????????????
36JDK????
- JDK (Java Development Kit) 1.3.0??????????(1877
files, 18.4MB) - ?????????????????????????????????????
37??????????????
- ?????????????????????????????????(582 files,
6.1MB) - ??????????????????????(2,8?)
- ??????????????????????
- ?????????????18?(??9???)????
- ???????????10?????
38??????????????
- CR??????????????????????
- ??????????????????????
- ?????,CR?????????
- ????????????
- ?????CR????????????
CR-System
???????
?????????????? ????????
????
?????
???????
???? ????
????
????
39 ???
- ?????????????????????(CR?)?????
- ??????????????????????????????Java??????????????
- ??????????????????????????????????
40???
- ???????????????,????????????????????
- ????????????????????????
- ??????????????????????????
- ?????????????????????,????????
- ???????????,??????????????,???????????????????????
?
41???????
- ?????????????
- ??????
- ???????
- ?????????????????????
- CR?
- ?????????CR????
- ??????????????????????????
- CR????
- CR?????????????????
- ????????SPARS????,CR???????????
42?
43???????
- ??????????????????????????????????????
V DV
?1(?????)???????
44????????
- ????????????,?????????????????????????????
45??????????????
- ??????????????????????SPARS(Software Product
Archiving, analyzing and Retrieving System) - ??,Java ??????,SPARS-J ????
- ???????Java???????????,?????,????????????????
- Component Rank?????????????
- ?????????????????????
46???????
- XML???????????????? (7171????)??????
- getNodetype ??????????
- DOM???????????????????????
- Grep ??????????????,???????getNodetype????????????
??? - ?????128??????
- Component Rank ????
47?????
- getNodetype?????????????? (1?,2?)
- ????????????
- ???????????
- ??????(35?,10?)
- ??????????XML?????(69?)
- ????????CR????????
- ??????????????????????????????
- ?????????????,????????????????????
48?????????????????
- ??????2???????????????
- ????????????????????????
- ?????????????????
5
3
4
1
2
0
?????????