View
25
Download
2
Category
Preview:
DESCRIPTION
Gépi tanulás a fejlesztés, karbantartás költségének becslésére. Kakuja-Tóth Gabriella Szoftverfejlesztés Tanszék. Adding Process Metrics to Enhance the Modification Complexity Prediction. Tóth Gabriella, Végh Ádám Zoltán, Beszédes Árpád, Gyimóthy Tibor - PowerPoint PPT Presentation
Citation preview
UNIVERSITAS SCIENTIARUM SZEGEDIENSISUNIVERSITY OF SZEGEDDepartment of Software Engineering
Gépi tanulás a fejlesztés, karbantartás költségének
becslésére
Kakuja-Tóth Gabriella
Szoftverfejlesztés Tanszék
1
UNIVERSITAS SCIENTIARUM SZEGEDIENSISUNIVERSITY OF SZEGEDDepartment of Software Engineering
Adding Process Metrics to Enhance the Modification Complexity Prediction
Tóth Gabriella, Végh Ádám Zoltán,
Beszédes Árpád, Gyimóthy Tibor
19th IEEE International Conference on Program Comprehension – ICPC’11
2
UNIVERSITAS SCIENTIARUM SZEGEDIENSISUNIVERSITY OF SZEGEDDepartment of Software Engineering
Adjusting Effort Estimation Using Micro-Productivity Profiles
Tóth Gabriella, Végh Ádám Zoltán, Beszédes Árpád, Schrettner Lajos, Gergely Tamás, Gyimóthy Tibor
12th Symposium on Programming Languages and Software Tools - SPLST'11
3
UN
IVER
SIT
Y O
F SZ
EG
ED
Dep
artm
ent o
f Sof
twar
e E
ngin
eeri
ng
UN
IVE
RS
ITA
S S
CIE
NT
IAR
UM
SZ
EG
ED
IEN
SIS
4
Vázlat
Metrikák felhasználása becslésreMódosítás költsége metrika
■ Level of Modification Complexity (LMC)
A kísérlet■ Összehasonlító elemzés különböző
metrikákkal alapján történő becslések között
EredményekHogyan tovább?
UN
IVER
SIT
Y O
F SZ
EG
ED
Dep
artm
ent o
f Sof
twar
e E
ngin
eeri
ng
UN
IVE
RS
ITA
S S
CIE
NT
IAR
UM
SZ
EG
ED
IEN
SIS
5
Szoftvermetrikákkal történő becslés
Mit becsülhetünk?■ Költség,■ Erőforrás, ■ Hibaszám,■ …
Miből becsülhetünk?■ Termék metrikák■ Folyamat metrikák■ Múltbeli fejlesztési adatok■ …
UN
IVER
SIT
Y O
F SZ
EG
ED
Dep
artm
ent o
f Sof
twar
e E
ngin
eeri
ng
UN
IVE
RS
ITA
S S
CIE
NT
IAR
UM
SZ
EG
ED
IEN
SIS
C&K metrikák: 6 objektum orientált metrika (Chidamber és Kemerer által)■ Ezek a metrikák korrelációt mutatnak a
karbantarthatóság mértékével és a hibák számával
Mockus és Weiss■ A változás metrikák és a fejlesztők szakértelme
fontos tényező a hibák számának előrejelzésében
Moser■ A legerőteljesebb hiba előrejelzők a nagy számú kis
méretű kommitok, sok hibajavítás és kevés refaktoring.
6
Kapcsolódó irodalom
UN
IVER
SIT
Y O
F SZ
EG
ED
Dep
artm
ent o
f Sof
twar
e E
ngin
eeri
ng
UN
IVE
RS
ITA
S S
CIE
NT
IAR
UM
SZ
EG
ED
IEN
SIS
Módosítás komplexitása
ISO/IEC TR 9126-2:2003 szabvány■ Modification complexity ■ Can the maintanier easily change the
software to resolve problem?■ T = Sum(A/B)/N
– A: work time spent to change– B: Size of software change– N: number of changes
7
UN
IVER
SIT
Y O
F SZ
EG
ED
Dep
artm
ent o
f Sof
twar
e E
ngin
eeri
ng
UN
IVE
RS
ITA
S S
CIE
NT
IAR
UM
SZ
EG
ED
IEN
SIS
Módosítás komplexitása
Mennyi ideig tart átlagosan egy fájl1 sorának módosítása a fájl következő módosítása során?
T.F.H. r36-ban A.java módosult: ■ r35 – r36 között:
– diff: 4 sor– A.java fejlesztésének nettó ideje: 12 perc– MC (A,35) = 12/4 = 3 perc/sor– LMC(A,35) = közepes
8
UN
IVER
SIT
Y O
F SZ
EG
ED
Dep
artm
ent o
f Sof
twar
e E
ngin
eeri
ng
UN
IVE
RS
ITA
S S
CIE
NT
IAR
UM
SZ
EG
ED
IEN
SIS
Módosítás komplexitása
time(F, i): F fájl nettó fejlesztési ideje percben a fájl i. és i+1. revíziója között
diff (F, i): F fájl változtatott sorainak száma a fájl i. és i+1. revíziója között
Fájlonként kiszámolásra került a fájl összes módosításának revíziójához ez az érték
9
),(
),(),(
iFdiff
iFtimeiFMC
UN
IVER
SIT
Y O
F SZ
EG
ED
Dep
artm
ent o
f Sof
twar
e E
ngin
eeri
ng
UN
IVE
RS
ITA
S S
CIE
NT
IAR
UM
SZ
EG
ED
IEN
SIS
Kutatási cél
A módosítás költségére rátanulni■ Milyen prediktorok segítségével?
– Termék metrikák– Folyamat metrikák– Idő múlása
■ Több modell építése, ezek összehasonlítása– Precision– Recall
10
UN
IVER
SIT
Y O
F SZ
EG
ED
Dep
artm
ent o
f Sof
twar
e E
ngin
eeri
ng
UN
IVE
RS
ITA
S S
CIE
NT
IAR
UM
SZ
EG
ED
IEN
SIS
Kutatási kérdések
Az idő múlása elégséges az LMC becsléséhez?
A termékmetrikák által becsült LMC pontossága javítható további folyamatmetrikák segítségével?
11
UN
IVER
SIT
Y O
F SZ
EG
ED
Dep
artm
ent o
f Sof
twar
e E
ngin
eeri
ng
UN
IVE
RS
ITA
S S
CIE
NT
IAR
UM
SZ
EG
ED
IEN
SIS
A mérési keretrendszer
12
UN
IVER
SIT
Y O
F SZ
EG
ED
Dep
artm
ent o
f Sof
twar
e E
ngin
eeri
ng
UN
IVE
RS
ITA
S S
CIE
NT
IAR
UM
SZ
EG
ED
IEN
SIS
Productivity plug-inEclipse plug-inLogolja a fejlesztés főbb mozzanatait:
■ Aktív fájl■ Aktív perspektíva■ Aktív projekt■ Aktív fejlesztő■ Események:
– save, update, commit, deploy
■ Idő mérése (-tól –ig)
Központi adatbázisba tölti folyamatosan
13
UN
IVER
SIT
Y O
F SZ
EG
ED
Dep
artm
ent o
f Sof
twar
e E
ngin
eeri
ng
UN
IVE
RS
ITA
S S
CIE
NT
IAR
UM
SZ
EG
ED
IEN
SIS
A mérési keretrendszer
14
UN
IVER
SIT
Y O
F SZ
EG
ED
Dep
artm
ent o
f Sof
twar
e E
ngin
eeri
ng
UN
IVE
RS
ITA
S S
CIE
NT
IAR
UM
SZ
EG
ED
IEN
SIS
Columbus
Statikus elemző■ C/C++, C#, Java, SQL, Python stb.
Termékmetrikák■ Forráskód alapján■ Méret,■ Komplexitás,■ Öröklődés,■ Csatolás
15
UN
IVER
SIT
Y O
F SZ
EG
ED
Dep
artm
ent o
f Sof
twar
e E
ngin
eeri
ng
UN
IVE
RS
ITA
S S
CIE
NT
IAR
UM
SZ
EG
ED
IEN
SIS
A mérési keretrendszer
16
UN
IVER
SIT
Y O
F SZ
EG
ED
Dep
artm
ent o
f Sof
twar
e E
ngin
eeri
ng
UN
IVE
RS
ITA
S S
CIE
NT
IAR
UM
SZ
EG
ED
IEN
SIS
Prediktorok I.
Termék metrikák■ lLOC: logical Lines of Code■ Chidamber és Kemerer metrikák
– DIT: Depth of Inheritence Tree– NOC: Number of Children– CBO: Couplings between Object Classes– RFC: Response For a Class– WMC: Weighted Methods per Class– LCOM: Lack of Cohesion in Methods
■ ECLOC: Effectively Changed Lines of Code
17
UN
IVER
SIT
Y O
F SZ
EG
ED
Dep
artm
ent o
f Sof
twar
e E
ngin
eeri
ng
UN
IVE
RS
ITA
S S
CIE
NT
IAR
UM
SZ
EG
ED
IEN
SIS
Termékmetrikák feldolgozása
3 féle feldolgozás■ A kód aktuális állapota alapján számolt■ A kód első mért állapota és a jelenlegi
állapota közötti eltérés■ A kód előző mért állapota és a jelenlegi
állapota közötti eltérés
18
UN
IVER
SIT
Y O
F SZ
EG
ED
Dep
artm
ent o
f Sof
twar
e E
ngin
eeri
ng
UN
IVE
RS
ITA
S S
CIE
NT
IAR
UM
SZ
EG
ED
IEN
SIS
Prediktorok II.
Folyamat metrikák■ TT: Task Time■ DEP: Developer’s Experience in Progamming ■ NDF: Numbers of Developers of File■ NFA: Number of File Access■ DT: Development Time
RN: Revision Number
19
UN
IVER
SIT
Y O
F SZ
EG
ED
Dep
artm
ent o
f Sof
twar
e E
ngin
eeri
ng
UN
IVE
RS
ITA
S S
CIE
NT
IAR
UM
SZ
EG
ED
IEN
SIS
A vizsgált projekt
Ipari K+F java projekt■ Telemedicina terület■ 7 fejlesztő■ 23 munkanap■ r954 – r1805
– 851 kommit– 1134 fájlmódosítás– 200 fájlmódosításhoz lehetett egyértelműen
termék és folyamat metrikát társítani– 97 tanulóadat (a többi esetén nem volt a fájl
rákövetkező módosítása)20
UN
IVER
SIT
Y O
F SZ
EG
ED
Dep
artm
ent o
f Sof
twar
e E
ngin
eeri
ng
UN
IVE
RS
ITA
S S
CIE
NT
IAR
UM
SZ
EG
ED
IEN
SIS
Gépi tanulás
Használt weka algoritmusok■ J48
– java weka.classifiers.trees.J48 -t data/process.arff -d data/process.model -i
■ RBFNetwork– java weka.classifiers.functions.RBFNetwork -t
data/process.arff -d data/process.model -i
■ ClassificationViaRegression– java
weka.classifiers.meta.ClassificationViaRegression -t data/process.arff -d data/process.model -i
21
UN
IVER
SIT
Y O
F SZ
EG
ED
Dep
artm
ent o
f Sof
twar
e E
ngin
eeri
ng
UN
IVE
RS
ITA
S S
CIE
NT
IAR
UM
SZ
EG
ED
IEN
SIS
Gépi tanulás
Cél: LMC diszkrét érték becslése ■ MC = DT/ECLOC → LMC
4 féle becslőmodell■ Idő múlása alapján
– Prediktor: RN
■ Termék metrikák alapján– Prediktorok: RN, termék metrikák
■ Folyamat metrikák alapján– Prediktorok: RN, folyamat metrikák
■ Termék és folyamat metrikák alapján– Prediktorok: RN, termék és folyamat metrikák
22
UN
IVER
SIT
Y O
F SZ
EG
ED
Dep
artm
ent o
f Sof
twar
e E
ngin
eeri
ng
UN
IVE
RS
ITA
S S
CIE
NT
IAR
UM
SZ
EG
ED
IEN
SIS
Process_metrics.arff @relation process_metrics
■ @attribute rev numeric■ @attribute task {t2,t1,t3}■ @attribute developer {d4,d3,d5}■ @attribute access numeric■ @attribute time numeric■ @attribute dev_access numeric■ @attribute target {m3,m2,m1}■ @data■ 963,t2,d4,1,43,1,m3■ 967,t1,d3,4,40,1,m3■ 967,t1,d3,3,3,1,m2■ …
23
UN
IVER
SIT
Y O
F SZ
EG
ED
Dep
artm
ent o
f Sof
twar
e E
ngin
eeri
ng
UN
IVE
RS
ITA
S S
CIE
NT
IAR
UM
SZ
EG
ED
IEN
SIS
Product_metrics.arff @relation product_metrics
■ @attribute rev numeric■ @attribute LLOC numeric■ @attribute RFC numeric■ @attribute WMC numeric■ @attribute DIT numeric■ @attribute NOC numeric■ @attribute LCOM numeric■ @attribute CBO numeric■ @attribute dLLOC numeric■ …■ @attribute d1LLOC numeric■ …■ @attribute diff numeric■ @attribute target {m3,m2,m1}■ @data■ 963,179,17,37,0,0,3,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,m2
24
UN
IVER
SIT
Y O
F SZ
EG
ED
Dep
artm
ent o
f Sof
twar
e E
ngin
eeri
ng
UN
IVE
RS
ITA
S S
CIE
NT
IAR
UM
SZ
EG
ED
IEN
SIS
Eredmények I.
Tanulási módszer Precision Recall
J48 31.9% 35.2%
RBFNetwork 36.6% 38.5%
ClassificationViaRegression 35.2% 39.6%
Az idő múlása elégséges az LMC becsléséhez?Csak revíziószám alapján
25
UN
IVER
SIT
Y O
F SZ
EG
ED
Dep
artm
ent o
f Sof
twar
e E
ngin
eeri
ng
UN
IVE
RS
ITA
S S
CIE
NT
IAR
UM
SZ
EG
ED
IEN
SIS
Eredmények II.
Tanulási módszer Precision Recall
J48 43.1% 42.9%
RBFNetwork 36.6% 35.2%
ClassificationViaRegression 40% 41.8%
Revíziószám és termékmetrikák alapján
26
UN
IVER
SIT
Y O
F SZ
EG
ED
Dep
artm
ent o
f Sof
twar
e E
ngin
eeri
ng
UN
IVE
RS
ITA
S S
CIE
NT
IAR
UM
SZ
EG
ED
IEN
SIS
Eredmények III.
Tanulási módszer Precision Recall
J48 34.2% 34.1%
RBFNetwork 31.7% 31.9%
ClassificationViaRegression 26.7% 33%
Revíziószám és folyamat metrikák alapján
27
UN
IVER
SIT
Y O
F SZ
EG
ED
Dep
artm
ent o
f Sof
twar
e E
ngin
eeri
ng
UN
IVE
RS
ITA
S S
CIE
NT
IAR
UM
SZ
EG
ED
IEN
SIS
Eredmények IV.
28
Learning Method Precision/ Recall
Product Metrics
Process metrics
Product & Process Metrics
J48 Precision 43.1% 34.2% 47.5%Recall 42.9% 34.1% 47.3%
RBFNetwork Precision 36.6% 31.7% 39.7%Recall 35.2% 31.9% 39.6%
ClassificationViaRegression Precision 40% 26.7% 42.7%
Recall 41.8% 33% 45.1%
Javítható-e a becslés pontossága, ha csak termékmetrikák helyett termék és folyamatmetrikák segítségével becsülnénk?
UN
IVER
SIT
Y O
F SZ
EG
ED
Dep
artm
ent o
f Sof
twar
e E
ngin
eeri
ng
UN
IVE
RS
ITA
S S
CIE
NT
IAR
UM
SZ
EG
ED
IEN
SIS
További vizsgált projektek
3 ipari K+F Java projekt
293 tanulóadat
29
UN
IVER
SIT
Y O
F SZ
EG
ED
Dep
artm
ent o
f Sof
twar
e E
ngin
eeri
ng
UN
IVE
RS
ITA
S S
CIE
NT
IAR
UM
SZ
EG
ED
IEN
SIS
Eredmények V.
30
Tanulási módszer Precision Recall
J4850,1%
(47.5%)49.8%
(47.3%)
RBFNetwork37.9%
(39.7%)40.3%
(39.6%)
ClassificationViaRegression46.6%
(42.7%)
47.4% (45.1%)
Becslőmodellek összehasonlítása nagyobb tanulóhalmazra
UN
IVER
SIT
Y O
F SZ
EG
ED
Dep
artm
ent o
f Sof
twar
e E
ngin
eeri
ng
UN
IVE
RS
ITA
S S
CIE
NT
IAR
UM
SZ
EG
ED
IEN
SIS
31
Összegzés
Ígéretes eredmények■ A kombinált prediktor használat (termék és
folyamatmetrikák) pontosabb becslést eredményezett
További eredmények■ Új tanulóhalmazon ismételt mérés■ A tanulóhalmaz méretének növelésével még
pontosabb becslést értünk el
UN
IVER
SIT
Y O
F SZ
EG
ED
Dep
artm
ent o
f Sof
twar
e E
ngin
eeri
ng
UN
IVE
RS
ITA
S S
CIE
NT
IAR
UM
SZ
EG
ED
IEN
SIS
Távlati célok
Hosszabb távú előrejelzés■ Ne csak a következő módosítás
komplexitása legyen becsülhető, hanem hosszabb távon is
■ 1, új tanulómodellek a következő 1,2,3, … módosítás komplexitásának előrejelzésére
■ 2, régi tanulómodell által becsült érték korrigálása statisztikai értékek alapján
32
UN
IVER
SIT
Y O
F SZ
EG
ED
Dep
artm
ent o
f Sof
twar
e E
ngin
eeri
ng
UN
IVE
RS
ITA
S S
CIE
NT
IAR
UM
SZ
EG
ED
IEN
SIS
Micro-productivity jelenség
Következő módosítás (MC): 5 perc/sor■ Naív megközelítés
– Köv. 10 módosítás módosításonként 30 sorral számolva: 30*10*5= 1500 perc
■ Micro-productivity jelenség– A 10 módosítás valószínűleg tartalmaz közös
részeket (utólagos refaktorálás, átgondolatlan fejlesztés, hibás első ötlet stb.)
– módosított sorok száma legfeljebb 30*10
33
UN
IVER
SIT
Y O
F SZ
EG
ED
Dep
artm
ent o
f Sof
twar
e E
ngin
eeri
ng
UN
IVE
RS
ITA
S S
CIE
NT
IAR
UM
SZ
EG
ED
IEN
SIS
Micro-productivity jelenség
10 módosítás előrejelzése:■ Tényleges: 250 sor■ Naív: 300 sor
Ezek aránya: 250/300= 0,83Naív becslés korrigálása
■ 1500 * 0,83 = 1250 perc
Minden hosszhoz átlag (vagy medián) számítása a meglévő arányok alapján
34
UN
IVER
SIT
Y O
F SZ
EG
ED
Dep
artm
ent o
f Sof
twar
e E
ngin
eeri
ng
UN
IVE
RS
ITA
S S
CIE
NT
IAR
UM
SZ
EG
ED
IEN
SIS
Felmerült probléma
Tanulóadat számának újbóli növekedé-sével nem kaptunk pontosabb becslést■ Rosszul választottunk
– prediktorokat?» Túl sok a prediktor?» Nincs közük a target-hez?
– tanuló modellt?» Paraméterezés?» Más modell?
35
UNIVERSITAS SCIENTIARUM SZEGEDIENSISUNIVERSITY OF SZEGEDDepartment of Software Engineering
Köszönöm a figyelmet!
Kérdések?Ötletek?
36
Recommended