Tải bản đầy đủ (.pdf) (85 trang)

Nghiên cứu và phát triển một cơ sở tri thức hỗ trợ nâng cao chất lượng hoạt động sản xuất phần mềm

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.03 MB, 85 trang )

I H C QU C GIA TP. HCM
I H C BÁCH KHOA
--------------------------

H

XUÂN C M TRANG

NGHIÊN C U VÀ PHÁT TRI N M
H TR NÂNG CAO CH
NG HO
XU T PH N M M

Chuyên ngành: H th ng thông tin qu n lí
Mã s chuyên ngành: 60 34 48

LU

TP. H

TRI TH C
NG S N


C HOÀN THÀNH T I
I H C BÁCH KHOA
HCM
Cán b

ng d n khoa h c : TS.Nguy n Chánh


Cán b ch m nh n xét 1 : ...........................................................................
Cán b ch m nh n xét 2 : ...........................................................................

Lu
Thành ph n H i

c b o v t i Tr
ng

ng

i h c Bách Khoa,

HQG Tp. HCM

nh giá lu n v n th c s g m:

1. ..............................................................
2. ..............................................................
3. ..............................................................
4. ..............................................................
5. ..............................................................
Xác nh n c a Ch t ch H i ng
h giá LV và
ngành sau khi lu n v n ã
c s a ch a (n u có).
CH T CH H

NG


ng Khoa qu n lý chuyên

NG KHOA


I H C QU C GIA TP.HCM
I H C BÁCH
KHOA

C NG HÒA XÃ H I CH
NAM c l p - T do - H nh phúc

T

NHI M V LU

Chuyên ngành:

...................................... MSHV:11320984 ............
14/05/85 ...............................................
Kon Tum .........
.........................
: 60 34 48 ...........

I.

TÀI: Nghiên c u và phát tri n m
ph n m m
II. NHI M V VÀ N I DUNG


tri th c h tr ho

ng s n xu t

Hình thành m
tri th c v các l i phát tri n trong quá trình s n xu t
ph n m m bao g m các thông tin v d ng l i, nguyên nhân l i và cách phòng
tránh.
Xây d ng m
h tr
i dùng truy c
tri th c
h tr c
tri th
i v i vi c nâng cao ch
ng c a
ho
ng s n xu t ph n m m
III. NGÀY GIAO NHI M V : 21/01/2013
IV. NGÀY HOÀN THÀNH NHI M V : 21/06/2013
V. CÁN B
NG D N : TS. Nguy n Chánh Thành

Tp. HCM, ng
CÁN B

NG D N

CH NHI M B


NG KHOA

.
O


i

L
cg il ic
n quý Th y Cô c
i h c Bách khoa
cho tôi nh ng ki n th c quý báu trong th i gian tôi h c cao h c
ngành H th ng Thông tin Qu n lý.
c bi t c
Th y

t t n tình
tài này.

n Chánh Thành
ng d n và

Cu i cùng, tôi xin g i l i c
nghi p
n tình h tr
c
tài.

ng d n khoa h c c


tài.

ng cho tôi trong vi c nghiên c u và hồn

n t t c nh

i b n, nh

ng

, góp ý cho tôi trong su t th i gian h c t p và nguyên

H Xuân C m Trang


ii

TĨM T T LU
Lu
trình bày vi c nghiên c u và phát tri n m
tri th c h tr nâng cao
ch
ng s n xu t ph n m m. Thông qua k t qu phân tích nhu c u c
ng là
chính các chuyên gia ho
c này, lu n
s phát tri n m
tri
th c v các l i phát sinh trong quá trình s n xu t ph n m m. Lu

t p trung xây
d ng m t ontology v l i ph n m m và hi n th c nó b ng cách thu th p d li u v l i
ph n m m t 5 d án khác nhau có qui mơ khá l n
phân lo i d
g pháp ODC, t
pháp phịng tránh. Ngồi ra lu
truy c p và s d
c

m t s công ty ph n m m,
cm

ngh m t s bi n
h tr
i dùng

tri th c vàtrình bày m t s các
c nghi m nh m
ng c
tri th c trong vi c h tr các l p trình viên nói riêng
c gi m chi phí và nâng cao ch

ng ph n m m nói chung.

T khoá: Defect, Defect Analysis, Root Cause Analysis, Prevent Action, ODC


iii
ABSTRACT
Based on the fact that the cost of finding and correcting defect represents one of the most

expensive software development activites, this study will present a research and
implementation of a knowledge base about defect in order to improve the quality of
software development. This study will focus on developing a defect ontology, then
creates a defect knowledge base by finding and analysis the defect data that occurred in
the software development process for five big projects and aims at classifying various
defect using Orthogonal Defect Classification (ODC), finding root cause of defects and
suggest some prevention ideas. The study also built a web application for the defect
knowledge base can be accessed and used. Then by conducting some experiments, it also
showcase on how the knowledge base helps the developers in their work in particular or
to improve the software development quality in general.
Keywords: Defect, Defect Analysis, Root Cause Analysis, Prevent Action, ODC


iv

L

Tơi xin cam
ng tồn b nh ng n i dung và s li u trong lu
nghiên c u, kh o sát và th c hi n. Nh ng d li
c thu th p và x lí m t cách khách
quan và trung th c.
H Xuân C m Trang


v

M CL C
L


..................................................................................................................... i

TÓM T T LU
L

................................................................................... ii
.............................................................................................................. iv

M C L C .......................................................................................................................... v
DANH M C HÌNH NH .............................................................................................. viii
DANH M C B NG ......................................................................................................... ix
DANH M C CÁC THU T NG

VÀ T

VI T T T .................................................. x

T NG QUAN..................................................................................... 1
1.1

Gi i thi u ............................................................................................................... 1

1.2

M c tiêu ................................................................................................................. 3

1.3

ng nghiên c u ............................................................................................ 3


1.4

u ....................................................................................... 4

1.5

Các cơng trình nghiên c u liên quan ..................................................................... 4
LÝ THUY T ........................................................................ 9

2.1

lí thuy t v l i .............................................................................................. 9

2.1.1

L i ................................................................................................................... 9

2.1.2

Mô hình phân lo i l i ODC ............................................................................. 9

2.1.3

Ki u l i (Defect Type): .................................................................................. 11

2.1.4

Kích ho t l i (Defect Trigger)....................................................................... 13

2.1.5


ng c a l i (Defect Impact) .................................................................. 13

2.2

Tri th

tri th c ...................................................................................... 14

2.2.1

Tri th c .......................................................................................................... 14

2.2.2

c tính c a tri th c: ..................................................................................... 17


vi
2.2.3

Qu n lí tri th c .............................................................................................. 17

2.2.4

Qu n lí tri th

2.2.5
2.3


c s n xu t ph n m m....................................... 18

tri th c ................................................................................................. 19

Gi i thi u v ontology ......................................................................................... 21

2.3.1

Khái ni m ...................................................................................................... 21

2.3.2

T i sao ph i xây d ng Ontology? ................................................................. 22

2.3.3

ng Ontology ................................................................. 24

2.3.4

OWL

Web Ontology Language ................................................................. 26
U .................................................. 28

3.1

c th c hi n .............................................................................................. 28

3.1.1


Phân tích nhu c u .......................................................................................... 28

3.1.2

Thu th p d li u ............................................................................................ 30

3.1.3

Phân tích d li u ............................................................................................ 31

3.1.4

Xây d ng Ontology ....................................................................................... 32

3.1.5

Xây d

3.2

h tr truy c

Qui t c 80/20 ........................................................................................................ 33
XÂY D

4.1

tri th c ............................................. 32


Ki n trúc c

TRI TH C ................................................... 35
tri th c .................................................................................. 35

4.1.1

Ontology ........................................................................................................ 35

4.1.2

T

tri th c ..................................................................... 41

4.1.2.1

d li u ........................................................................ 41

4.1.2.2

T o nên các th c th c a Ontology ................................................... 42

4.2

ng d ng (demo) ................................................................................................. 43
TH C NGHI

5.1


................................................. 45

K t qu th c nghi m ............................................................................................ 45


vii
5.1.1

Thu th p d li u ............................................................................................ 45

5.1.2

.................................................................................... 47

5.1.3
5.2

T ng quát m t s n i dung c

tri th c ............................................... 56

H u ki m .............................................................................................................. 63

5.2.1
5.2.2

tin c y c

tri th c ........................... 63


c c i ti n ................................................................................................. 68
K T LU

NG PHÁT TRI N ..................................... 69

DANH M C CÁC TÀI LI U THAM KH O ............................................................. 71


viii

DANH M C HÌNH NH
Hình 2-1: Mơ hình mơ t s phân b c a các l

n phát tri n c a d án [7]

........................................................................................................................................... 10
Hình 2-2 : Chu kì hình thành c a tri th c .......................................................................... 15
Hình 2-3: Mơ hình d li u, thơng tin và tri th c ............................................................... 16
Hình 2-

th hi n m

a vi c xây d ng ontology ....................................... 24

Hình 3-

Pareto bi u di

n tr c


......................... 34

Hình 4-1 Mơ t ontology v l i ph n m m ....................................................................... 36
Hình 4-2 Defect Type Ontology ....................................................................................... 37
Hình 4-3 Root Cause Ontology ........................................................................................ 38
Hình 4-4 Defect Trigger Ontology ................................................................................... 39
Hình 4-5: Defect Impact Ontology ................................................................................... 41
Hình 4-

d li u......................................................................................... 42

Hình 4-7

ng d ng h tr tìm ki m l i............................................................................. 43

Hình 4-8

ng d ng h tr truy c p thông tin chi ti t v l i .............................................. 44

Hình 5-

Paterio v phân lo i l

Hình 5-

Pareto v phân lo i l i theo Defect Type ............................................... 53

Hình 5-

Paterio v phân lo i l i theo Defect Impact ........................................... 55


Hình 5-

nguyên nhân h qu c a l i ph n m m .............................................. 57

Hình 5-5: T l

n phát tri n c a d án ............. 51

a l p trình viên cho 33/100 l

c t cơng c truy c p 65

Hình 5-

ng c a thơng tin trên 200 m u th ........................................ 66

Hình 5-

i v i nhu c u s d ng th c t ............................. 67


ix

DANH M C B NG
B ng 5-1: Thông tin v l i thu th

c qua các d án .................................................. 45

B ng 5-2: Th ng kê các m i quan h ng


a l p Defect ...................................... 47

B ng 5-3: Phân lo i l i ph n m

nc a5d

vào nghiên c u ... 50

B ng 5-4: Phân b l i theo Defect Type ........................................................................... 52
B ng 5-5: Phân b l i theo Defect Impact ........................................................................ 54
B ng 5-6: Phân b l i theo Defect Trigger ....................................................................... 55
B ng 5-7: Nguyên nhân và cách kh c ph c l i ph n m m ............................................... 58
B ng 5-8: H u ki m s d ng công c truy c

tri th c ........................................... 64


x

DANH M C CÁC THU T NG
Thu t ng (vi t t t)

VÀ T

VI T T T

Gi i thích

Orthogonal Defect

ODC là
Classification (ODC) 1990s b
trong t t c
m m.

do IBM phát tri n vào nh
phân lo i và phân tích l i
n phát tri n c a m t d án ph n

World Wide Web
Consortium ( W3C)

T ch c tiêu chu n qu c t v web trên internet.

1000 lines of code
(KLOC)

S

Graphical User
Interface (GUI)

Giao di n giao ti p v

i dùng máy tính.

HyperText Markup
Language (HTML)

M t ngơn ng

web v i các m
Web.

c thi t k
t o nên các trang
c trình bày trên World Wide

eXtensible Markup
Language (XML)

Ngôn ng
uv im
ngh
t o ra các ngơn ng
u khác và có kh
nhi u lo i d li u khác nhau. M
a XML là
n hóa vi c chia s d li u gi a các h th ng khác
c bi t là các h th
c k t n i v i Internet.

Web Ontologoy
Language (OWL)

M t l p ngôn ng bi u di n tri th
c s d ng cho
vi
ng các ontology.

Metadata


Siêu d li u: d li
mô t d li u, h tr trong vi c
tìm ki m và suy di n tri th c trên d li u.

1000 dòng.

Phases/Iterations

n phát tri n khác nhau c a m t d án ph n
m m.

Requirement

n l y yêu c u t
n.

Design

n thi t k v m
d li u

i d ng


xi
Thu t ng (vi t t t)

Gi i thích


Implementation

Gi

n th c thi.

Testing

n ki m th

.

Documentation

n vi t tài li

ng d n s d ng cho khách hàng.

Severity

M

nghiêm tr ng c a l i ph n m m.

Cause Category

Phân lo i l i ph n m m d
c a nó.

Root cause


Nguyên nhân d

Working Effort

Công s c b

Fixing Cost

Giá tr b

CostWeightage

Tr ng s c a m i l i ph n m m
tr ng s c a Fixing Cost.

c tính tốn d a trên

SeverityWeightage

Tr ng s c a m i l i ph n m m
tr ng s c a Severity.

c tính toán d a trên

FinalWeightage

Tr ng s t ng c ng c a m i l i ph n m m.

n l i ph n m m.


kh c ph c s c do l i ph n m m gây ra
ng b ng s gi b
s a ch a chúng.
s a ch a l i ph n m m.

Voting
View
Import

is d
S

t phát/nguyên nhân

t truy c p c
li

i v i m i tri th c.
i s d ng.
tri th c.


1

T NG QUAN
1.1 Gi i thi u
Ngày nay, cùng v i s phát tri n không ng ng c a khoa h
thu t hi
i thì ph n

m m máy tính (g i t t là ph n m m) tr thành m t ph n không th thi u trong cu c s ng
h ng ngày c a m
i t t c các ho
ng s n xu t khác.
n giao thơng, máy móc, ngân hàng, siêu th
t tc
uc
n s h tr
u khi n c a ph n m m. Vì th mà vi c s n xu t ra nh ng ph n m m có ch t
ng t t v i chi phí th p và t n ít th
hi n nay.
s n xu
ph c t p bao g m r t nhi
i. m i m

c xem là v

c quan tâm nh t

c m t ph n m m thì ph i tr i qua m t qui trình

n (phases/iterations) và c n s tham gia c a r t nhi u
u yêu c u ph i có các chuyên gia, là nh
i có nhi u

kinh nghi m cùng làm vi c v
ng sáng t o, các ng d ng khoa
h
t o nên m t s n ph
t hi

i
l i ln ln phát tri n khơng ng ng, chính vì th mà tri th c và kinh nghi
c
trong ho
ng s n xu t m
t tài s n h t s c quí giá cho m t t
ch
ph n m m nói chung. Tuy nhiên tri th c
c t o ra b
i m t hình th
l i, qua m t q trình x lí và phân lo i theo m t m
d dàng ti p c n và s d ng chúng m t cách có hi u qu
qu n lí các tri th c tr thành m t ho
ph n m m.
Vi c xây d ng m

tri th

ng không th thi u trong ho

c t ch c
i có th
u
ng s n xu t

u trong nhu c u qu n lí tri th c

trong ho
ng s n xu t ph n m
tri th

p h p t t các tri th c
c t kinh nghi m trong các quá trình phát tri n d án nh m h tr cho các nhân
viên trong t ch c. T các d li u thu th
c qua r t nhi u các quá trình phát tri n d
án, qua m t quá trình l a ch n, phân lo i, x lí, phân tích tr thành m t t p h p các tri
th c có th chia s và s d ng m t cách có h u ích nh m h tr phát tri n hi u qu các
d án v sau.


2
Trong gi i h n c a lu
n m t y u t duy nh t có nh
ng r t l
n ch
ng c a m t ho
ng ph n m
t y u t tham
gia xuyên su t trong m t quá trình s n xu t ph n m
l iph n m m (software
defect) mà t

i t t là l i.

L i ph n m m là t t c các l i x y ra trong m
n nh ng k t qu
th
xây d

ng. B t kì m
c m t ph n m m v i s


m

nm

th ng máy tính d n

n ho c làm cho ph n m m ch y sai hoàn toàn,
i phát tri n d án ph n m
u mong mu n
ng các l i càng nh càng t t. Các r i ro trong

c phát hi n càng s m thì ch

ng c a ph n m m càng

c c i thi
n a, vi
nh và s a ch a các l i là công vi c h t
s c t n th i gian và chi phí. Tuy vi c lo i b t t c các l i ra kh i m t d án ph n m m là
không th
gây ra cho d án c a chúng ta.

làm gi m m

tr m tr ng và s thi t h i mà chúng

Hi n nay, có r t nhi u cơng trình nghiên c u v d báo l i trong các s n ph m ph n
m m, ph n l n d a vào phân tích các l i
ng x y ra trong m t s

ng l n các d
án, t
c các l i còn t n t i trong m t h th ng ph n m m. Các nghiên c u
này khơng n m ngồi m

cho các l p trình viên và các nhà qu

c qui trình phát tri n ph n m m, li u h có nên dành thêm th
ki m và s a l i hay có th
theo.

n ph m c

c sang

u khi n
ti p t c tìm

n phát tri n ti p

Nhìn chung thì ngày nay các nghiên c u ch y u phân tích l i
lo i (classification) và d báo (prediction) nh m xây d ng nên các mơ hình (model) mơ
t
c các l i tr ng y
ng x y ra và d
ng các l i có kh
x
phát hi n ra các l i có kh
n mb


c ch

tc

ng c a d án, t

p trình viên có th
i qu n lí d án có th

nl

ki m tra, phát hi n và

s a ch a l i m t cách phù h p.
Bên c
t s công trình nghiên c u v vi c d
l i d a trên m i
quan h c a chúng s d ng m t s
t phân tích d li u (data mining) [5] và t
Nói tóm l

c th i gian và công s
tr l i cho nh ng câu h i sau:

ng c n ph i b

s a nh ng l i


3

- V i nh ng l i
khác có kh
s a các l i

1.2

y ra trong m t d án ph n m m thì có nh ng l i nào
n ra ho c s xu t hi n
y ra thì s t n bao nhiêu th i gian và n l
ng

M c tiêu

Xây d ng m
tri th c v
v các l i phát sinh trong quá trình s n xu t ph n
m m, bao g m các thông tin v d ng l i, nguyên nhân d
n l i, t l phân b l i theo
ch
n su t xu t hi n. Thơng qua vi c phân tích thơng tin l i và nguyên nhân
c
Ti

xu t ra các gi i pháp g i ý h tr
xây d ng m

có th là m t công c ch d ng l i
d ng th và nh

1.3


i dùng gi i quy t các l i

i dùng có th truy c
m t b n dùng th (demo

tri th
i dùng có th s

ng nghiên c u

Ph m vi nghiên c u ch gi i h n trong công ty phát tri n ph n m m KMS Vi t Nam 1.
Hi
2

d ng m t s công c
), BugZilla 3, Qtrace

4

ch a thông tin v các l i

i các l i x y ra trong m t d án
này hi n t i là m
i s d ng có th t o m i, s a ch a và

truy xu t thơng tin. Ngồi ra m i cơng c
thơng báo, h tr
i dùng tìm ki m th ng tin hi u qu , có th xu t ra các thông tin
th

c
h tr các nhà qu n lí bi
Tuy nhiên các cơng c này ch d ng

c tình hình s c kh e c a d án
thông tin và th ng kê thông tin nh m

h tr các thành viên trong cùng m t d án theo dõi các l i x y ra cho d án nh
nh.
Vì th mà trong lu
n xây d ng nên m
tri th c mang tính
ch t t
l i thu th
c t các d án ph n m m sau m t q trình phân
hình thành nên m

tri th c có th chia s và h tr cho t t c các

d án hi n t

1


/>3
/>4
/>2


4


1.4

u

Kh o sát hi n tr ng ch

ng c a các d án ph n m m thông qua vi c thu t p d li u v

l i x y ra trong t t c
tri n ph n m m.

n phát tri n c a m t s d án trong m t s cơng ty phát

Phân tích và phân lo i l i d a trên
Defect Classification)
c a IBM [7]. Lý do l a ch n s d
hi
c m i quan
h nguyên nhân và h qu khi phân lo i l i trong qui trình phát tri n ph n m m, t
có th

có th s a ch a, gi m thi u và th m chí là có th phịng
c các l i có th x y ra trong quá trình phát tri n ph n m

nhi

u v phân lo i l i
c m i quan h ngun nhân và h qu


nl

n nay có r t
u khơng th hi n

D a trên các k t qu phân tích t
b

th
xu t các

D
m

a các l i

qu c a nó (cause-effect relationship
xu t x lí v i các l i
ng.

cv l i
tri th c v l i s d ng m t cơng c chính c a web ng

ng nên

Lu
ng nên m t ontology v các l i trong quá trình phát tri n ph n m m bao
g m các thành ph n có quan h v i nhau v m t ng
d
li u v i các m i quan h

hi n th
ng th
d
li u c
tri th c. Ti
ó là vi c hi n th c m t ng d ng web li n k t v
s d li u thông qua ngôn ng truy v n d li u SQL, nh m h tr m
duy t và
tìm ki
i s d ng có th truy c
tri th
Có th th nghi m áp d ng s h tr c
kh
l i hay gi m th i gian và công s

1.5

tri th c trong ph m vi c a 1 d án nh
tr c a nó trong vi c gi m s
ng

gi i quy t các l i trong d

nào.

Các cơng trình nghiên c u liên quan

Trong tài li u tham kh o s [4] ,m t nghiên c u c a Sakthi Kumaresh và R Baskaran v i
t
Defect Analysis and Prevention for Software Process Quality Improvement

tác gi
p trung vào phân tích t t c các l i thu th
c t 5 d án ph n m m d a
trên c p b c phân lo
u tiên c
chính gây ra l i, t
l i s không x y ra trong các


5
d án ti p theo. Ngoài ra, bài nghiên c u cịn trình bày vi c ng d
tránh l i
ms
ng các l i
ng trong các d
nghi
nào.

ng phòng

Sakthi Kumaresh và R Baskaran
p thông tin v l i t 5 d
nghiên c
li u sau:
- S
- S
- S

ng dòng code (KLOC)
ng l i

ng th

gi mà t t c nhân viên trong d án ph i

b ra trong toàn b d án
l s l i trên s
density):

M

Ti

l i=S

ng l i / (s

ng dòng code

l i (defect

1)

u phân tích t t c các l i thu th

c d a trên c p b c phân

il id

n phát tri n


lo
u tiên c
c a d án:

n phân tích u c u (Requirement)
n thi t k (Design)

-

ng dịng code g i là m

n l p trình (Code)
n thi t k giao di n (GUI)
n vi t tài li u
ng d n s d ng (Documentation)
c phân tích nguyên nhân l i d

th

ng

phòng tránh l i.
K

c th nghi

m ts d
5d
l n n a và tính tốn l i các con s
code, s

ng th i gian b ra cho d án

c ng d
n su t l i, s
i

ng phòng tránh l i vào
p thông tin v l i m t
ng l i, s
ng dòng
d
th y


6
c tác d
nâng cao ch

ng phòng tránh l i (defect prevention)
ng c a d án ph n m m.

Qua nghiên c

i v i vi c

c vi c phân tích và nghiên c u l i không nh ng giúp

nâng cao ch
ng d án mà còn giúp cho các thành viên trong d án ph n m m h c
h

c kinh nghi m t các l i và các sai l m t c a các thành viên thu c d án khác, t
m và có nh
phịng tránh l i. Vi c phòng tránh
c các l i ho c phát hi n s m các l i trong d án và k p th
a ch a
phù h p không nh ng s ti t ki
c r t nhi u th i gian và cơng s c cho d án mà cịn
góp ph

vào vi

ng c a d án.

Tuy nhiên, bài nghiên c u trên ch th
phân lo i các l i, bài nghiên c
thông qua các c
ti p theo c
Impact), ngu n g c kích ho t l i (Defect Trigger)
trong t t c
Tài li u s

c pb
ng phát tri n m
hi u rõ, hi

n nh
il i
ng c a l i (Defect
l i x y ra


n phát tri n c a d án.
5
) trình bày m

t khai thác d li u (data mining)
m i liên h gi a các l i và n l

ch a chúng. Nói tóm l
- V i nh ng l i
khác có kh

ng ph i b

s a

tr l i cho nh ng câu h i sau:
y ra trong m t d án ph n m m thì có nh ng l i nào
n ra ho c s xu t hi n. Ví d : n u l ia và

l ib xu t hi n thì có th d
c r ng l ic
xu t hi
s a các l i
y ra thì s t n bao nhiêu th i gian và n l

ng

Cơng trình nghiên c u này nh m h tr các l p trình viên trong vi c phát hi n ra l i và
giúp cho các nhà qu n lí phân cơng nhân l c trong d án cho quá trình ki m th s n
ph m m t cách hi u qu

ngh vào m t s
ng l n các d li u v l i

ng d
c cung c p b i SEL (NASA/GSFC

Software Engineering Laboratory
và truy v n d li u v công ngh ph n
m m cho t ch c NASA Goddard Space Flight Center
c thu th p t 200 d án trong
t qu
c cho th y v i các d
a trên m i liên h c a l i
chí

cc as d
t cao, 95.98% và t l d
chính xác c a vi c d
l cb
t cao, 94.69%. Bên c
d

t th p,
s a ch a l i
l cb


7
ra


s a ch a l i v

Tài li u tham kh o s

chính

Software Defect Prediction Models for Quality Improvement

Bài nghiên c u ch ra s
ng r t l n c a l i i v i ch
ng c a m t d án ph n
m m và trình bày cách th c th c thi c a m t s các mơ hình d báo l i
n vi c
gi m s
ng các l i xu t hi n trong d
gi phân tích bao g m:
- Mơ hình d

a trên s

nào. Các mơ hình d

ph c t

c (Prediction Model

using size and complexity metrics) là m t mơ hình d
l i
c s d ng
ph bi n nh t hi n nay. Nó d a trên s

ng các dòng code (LOC) c a d án
ph c t
c phát tri n b i McCabe.
- Mơ hình d a trên Machine Learning (Machine Learning Based Models) bao
g m m t s mơ hình sau:
o Mơ hình xác su t d
l i d a trên Bayesian Belief Network (The
Probabilistic Model for Defect Prediction using Bayesian Belief
Network)
o Mơ hình d

a trên thu t tốn di truy n (Defect Prediction

Models Based on Genetic Algorithms)
o Mơ hình xác su t d
l i d a trên m ng th n kinh nhân
t o(Software Defect Prediction Models using Artificial Neural
Network)
- Mô hình d báo d a trên t n su tl i (Defect Density Prediction Model)
o Mơ hình hóa ch
ng xây d ng d
d báo t n su tl i
(Constructive Quality Modeling for Defect Density Prediction)
o Mơ hình d
l i d a trên 6 tiêu chí (Defect Prediction Model based
on Six Sigma Metrics)
Nhìn chung thì ngày nay các nghiên c u ch y u phân tích sofware l i
phân lo i (classification) và d báo (prediction) nh m xây d ng nên các mơ hình (model)
mơ t
c các l i tr ng y

ng x y ra và d
ng các l i có kh
x
t
các l i (defect prevention) [3] [4] [5] [6]. T t c
có th phát hi n ra các l i có kh

n s x y ra c a
p trình viên
i qu n lí d án có th


8
giá và n m b
c ch
ng c a d án, t
nl
ki m tra, phát
hi n và s a l i m t cách phù h p. Nhìnchung l i thì t t c các n l
m ngoài
m c tiêu là nâng cao ch
ng trong ho
ong qu n lí c a m t d án
ph n m m.
Qua quá trình tìm hi u các cơng trình nghiên c

trên, lu n

n cơng trình n m trong tài li u s
c trình bày trong ph

u tiên c a
danh m c này, các công trình nghiên c u liên quan,
ng cho nghiên c u c a
, bài nghiên c u trên ch th
c pb c
n nh
c
lu

phân lo i các l i

hi u rõ, hi

l i x y ra trong t t c các

n phát tri n c a d án, chúng ta ph i phân lo i l i thông qua các c
n g c kích ho t l
ng l i..
t ra và ti p t c phát tri n.

ti p theo



9

LÝ THUY T
2.1

lí thuy t v l i


2.1.1 L i
L i là t t c các l i x y ra trong m
k t qu

th ng máy tính d

n nh ng

n ho c làm cho ph n m m ch y sai hồn tồn, th m chí
ng. M t ph n m m có ch
ng cao là m t ph n m m v i s
ng các

l i càng nh càng t t. Vì th các l i trong m

nm

c phát hi n

càng s m thì ch
ng c a ph n m
c c i thi
n a, vi c
nh và s a ch a các l i là m t công vi c h t s c t n th i gian và chi phí. Tuy vi c
lo i b t t c các l i ra kh i m t d án ph n m m là không th
gi m m
tr m tr ng và s thi t h i mà chúng gây ra cho d án[6] .

làm


2.1.2 Mơ hình phân lo i l i ODC
nt
c t các d

tích d li u v l i thu th

cs d
phân
hình Th ng kê L i (Statistical

Defect Modeling) và
pháp Phân tích Thơng
, Mơ hình Th ng kê L is d

ng (Casual Analysis)[7]. Trong
phân tích l i b ng cách xem

m il i

m t m u th l y ng u nhiên trong m t t h
ng
ng thì xem m i l i x y ra là duy nh t và tìm
ra nguyên nhân c a t ng l i m t. C
cs

d ng ph bi n b i vì i v i
các s li u th ng kê trên s
tri n d


ng các l i

iv i

tìm ngun nhân c a nó r t t n th
t
t khó có th m r

nh t thì các k t qu
c ch d a trên
c i thi n qui trình phát
hai thì vi c phân tích t ng l i c th và
n k t qu

c

ODC (Orthogonal Defect Classification) [7] do IBM phát tri n vào nh
b i Ram Chillarege. ODC là m

phân lo i và phân tích l i trong t t c

n phát tri n c a m t d án ph n m m.ODC phân lo i l i d a trên cách th c
s a ch a l ivà phân tích l i qua t
n phát tri n c a m t s n ph m
ph n m m. ODC cung c p m
có th
c tính


10

quan tr ng c a l i
c nguyên nhân c a l i d a trên m i quan
h nguyên nhân và h qu . ODC d a trên m t gi thuy t r ng trong su
i phát
tri n c a d án thì m
n s xu t hi n các lo i l i khác nhau và n u quá nhi u l i
n khác xu t hi n
án.

n này là bi u hi n nh ng v

b

ng s

s phân b c a các lo i l i
n phát tri n c a d
án nh m th hi n s phát tri n c a các lo i l i trong qui trình phát tri n ph n m
hình 2-1.

Hình 2-1: Mơ hình mơ t s phân b c a các l i

Ngồi ra
categories)khơng ch ng chéo, nh p nh
ODC
m

n phát tri n c a d án [7]

c các nhóm phân lo i l i (defect

c l p v i nhau. Bên c

nh m t t p nh các thu c tính c a l i (defect attributes
ng các m i quan h c a l i bao g m:
Ki ul i
ch a chúng.

m c a l id a trên nh ngs

cung c p

s a


11
Ngu n g c kích ho t l i

m c a l i d a trên

nh ng nguyên nhân, xúc tác d

n l i.

ng c a l i
ng lên n
i s d ng.

ng c a l i

n tác


2.1.3 Ki u l i (Defect Type):
ODC chia l i thành 8 lo i khác nhau, bao g m:
Giao di n (Interface): l i x y ra là k t qu c a nh ng v
thành ph n c a h th ng, các h th ng con, các mô-

v giao ti p gi a các
u hành ho c là các

thi t b

d

t nên c n ph i có s

i ví d

(control blocks), các ch g i (call statement), s
memory)

u khi n

d ng b nh chia s (shared

Ch
:l i x y ra do hi n th c thi u sót ho
ch
ng c a ph n m
n giao ti p v
i dùng, giao

di n c a s n ph m, cách giao ti p v i các c u trúc ph n c ng, c u trúc d li u c a
h th ng
Xây D

t h p (Build/Package/Merge): cácl i g p ph i trong qui

trình xây d ng h th ng và nguyên nhân gây ra xu t phát t
n h th ng,
vi c qu n lí s
i ho c s ki m soát phiên b
c li t kê vào phân lo i
này.
Gán giá tr (Assignment): l i x y ra do k t qu c a vi c m t giá tr b gán sai
ho c th
c gán gì c
ng n u vi c s a ch a m t l i
h i ph i s a ch a m t lo t các l i gán giá tr thì l i
c phân lo i
Algorithm.
Tài li u (Documentation): các l i x y ra thu c phân lo i này là k t qu c a
nh ng l
t sai, tài li

n tài li
ng d

ng d

i s d ng mô
code sai


là không nên nh m l n lo i l i này v i l i ho c thi u sót trong các tài li u yêu c u
ho c thi t k b i vì nó r t có th là m t l i thu c Function ho c Interface.
Ki m tra (Checking): l i x y ra là k t qu c a các sai sót trong q trình ki m tra
ho c xác nh n các thông s d li u
ng n u vi c s a ch a m t l i


×