-n

int *a = new ….
.
.
.
If (a>22)
(a>2)
(a[0] >22)
fail();
else
.
.
.

•
•
•
•






◄
–n

-n ◄
◄
bool foo()
{
found=false;
for (i=0; (i<100) && (!found); i++)
(
)
(
);
{
if (i==50) break;
(
)
;
if (i==20) found=true;
(
)
if (i==30) found=true;
(
)
}
return found;
;
}

•
•
•
•





void foo()
{
found=false;
for (i=0; (i<100) && (!found) ;i++)
{
if (i==50) break;
if (i==20) found=true;
if (i==30) found=true;
}
printf("foon");
}


-n
-n
-n
n-1

≈
-n
P(w|h)

h

w

p( w | w1n )
n 1
1

p( wn | w )

C ( w1n 1wn )
C (w1n 1 )
-n

-N

p ( wn | w1n 1 )
bigram, N

n
p ( wn | wn

2

1
N 1

)

n 1
1

p( wn | w

)

p( wn | wn 1 )
-n

n
p(wn | wn

1
N 1

)

n
C (wn 1 1wn )
N
n
C (wn 1 1 )
N

p( w1n )n ) p( w1 |# ) pp( w2| |w11 ) p(( w3| |w122)) .... p(( wn | |w1nn 11))
p( w1
p( w1 ) ( w2 w) p w3 w .... p wn w
n n

p( wk |k wk 1k)1 )
p( w | w
k 1 1
k
-n

-

SAQXYAQUZ
A

S

Q
P(X|AQ)

Y

U

X

Z
-n
H ( p)

H (X )

p ( x) log p ( x)
x X

p

X
q p
H ( p, q )

E p ( log q )

DKL ( p || q )

H ( p)

H ( p)

p ( x ) log q ( x )
x

H ( p, q )

p ( x ) log q ( x )
x

DKL ( p || q )
H ( p, q)

H ( p) , if p

H ( p, q)

H ( p, q)

H ( p, q)

H (q, p)

q
-n
-n

p(win ) log p(wn | win 1 )

H(X )
w*

-n

p X (win ) log pY (wn | win 1 )

H ( X ,Y )
w*
P
P P
P P
P P
………

T

C
Pi

RC

P P
P P
P P
………
P P

S
Y X
X=p1 p2 p3
Y=p1 p2 p4
p X ( win ) log pY ( wn | win 1 )

H ( X ,Y )
w*

p X ( win ) log pY ( wn | win 1 )

p X1,(pP1P122, p3)3, p1 ppp 3}( P1) p X ( P2 | P1) p X ( P3 | P1P 2)
{ p 2 , p 3, p p P 2 p
2X
p X ( P1) log pY ( P1 |# )

p X ( P 2) log pY ( P 2 |# )

p X ( P3) log pY ( P3 |# )

p X ( P1P 2) log CY PPP 2) 1)1 p X ( P 2 P3) log pY(( P3 | P 2)
p( ( 1 2 | P
C P 2) 1
pY ( P 2 | P1)
1 , p X ( P 2)
C pY ( P 1
C ( wii 1 ) 3
p X ( P1P 2 P3) log ( P1) 3 | P1P 2)
log0
Y = P1 P2 P4

log 0 0
p X ( P 2 P3) pY ( P3 | P 2)
1
log 0 log(
)
1 C (ngram)

C ( P 2 P3)
pY ( P3 | P 2)
C ( P 2)

0
1

0

1
3
1.60

2.28
2.46
1.79
3.65
2.84

P1 P2 P3 P4 P5

P1
P1 P2
P1 P2 P1 P2
P1 P2 P3 P4

P1
P2
P3
P3
P6

P2
P3
P4
P1
P7

P3
P4
P5
P2
P8

P4
P6
P6
P4
P9

1

2
3
4
5
6
P1 P2 P3 P4 =
Unigram {P1,P2,P3,P4},
Bigram {P1P2,P2P3,P3P4},
Trigram {P1P2P3,P2P3P4}

D f ( s)

CrossEntro py( s, ti ) , ti is a fail test
i C

D p (s)

CrossEntro py( s, ti ) , ti is a pass test
i C

Similarity

1
Difference
x
y

S
S
S
y
Θ
tan( )

0

2

y
x

y
x

tan

, tan

Sf

Dp

Sp

Df

1

y
x
priority(ngram)

score(ngram)

ingram
N

k
c 1

( priority(ngram))c
Regression
Lasso
<1%

< 10 %
< 20 %
< 30 %

Tarantula

SOBER

Liblit
Tarantula

SOBER

Liblit

Regression Lasso

Proposed Method
Master Thesis presentation
Master Thesis presentation
Master Thesis presentation

Master Thesis presentation

Editor's Notes

  • #2 طبق تعریف اشکال زدایی یک فرآیند سیستماتیک در یافتن و کم کردن تعداد خطاهاdebuggingتمام خطا ها از یک اصل ریشه گیرفته اند: چیزی که درست بنظر برسد، ولی در اصل غلط باشد.====================بارز ترین واکنش به چنین وضعیتی آن است که بطور تصادفی در کد تغییراتی انجام دهند، به امید آنکه برنامه مجددا شروع به کار کند. چراکه برنامه نویسان هیچ ایده ای در مورد اینکه چگونه به اشکال زدایی بپردازند، ندارند.تشخیص خودکار خطاهای نرم افزار می تواند بهره وری مرحله اشکال زدایی را بهبود ببخشد، و لذا راه کاری مهم برای توسعه نرم افزارهای قابل اعتماد است.
  • #8 مهمترين نقاطِ برنامه که جهت تشخيص عملکرد برنامه، به عنوان تعيين کننده انتخاب مي­شوندمقادير حاصل از ارزيابي تعيين کننده ها، درست يا نادرست هستند.
  • #9 اطلاعات حاصل از مستندگذاري، ذخیره شده و سپس براي تحلیل رفتار برنامه مورد استفاده قرار میگیرند
  • #11 تعیین خواهد کرد که آی ا برنامه براساس ورودي هاي مربوطه به درستی عمل می کند یا خیر
  • #12 ايده پيش بيني کلمه توسط مدل هاي احتمالي بطور رسمي n-گرام ناميده ميشود، که کلمه بعدي را توسط n-1کلمه قبلي پيش بيني ميکند. من دوست دارم خارج از کشور . . . {زندگی کنم، درس بخوانم، کارکنم}محاسبه احتمال کلمه بعدي ≈ محاسبه احتمال يک دنباله از کلمات
  • #13 احتمالات بر مبناي شمارش اشياء هستندتخمين احتمالات بطور مستقيم از روي شمارش در بسياري از حالات بخوبي کار مي­کند
  • #14 از آنجاييکه زبان بسيار پوياست و هر لحظه کلمات جديدي به آن اضافه ميشود، ممکن است هيچ گاه کلمه مورد نظر در جايي ديده نشده باشدمبناي مدل n-گرام اين است که به جاي محاسبه احتمال يک کلمه که پيشينه آن داده شده است، پيشينه با استفاده از چند کلمه آخرش تقريب زده شود.مدل­هاي مارکوف گونه اي از مدل­هاي احتمالي هستند، با اين فرض که مي­توان احتمال برخي از پديده­ها را بدون دانستن تاريخچه خيلي دور آن­ها، تنها با دانستن حالت قبلي، پيش بيني نمود.
  • #15 مدل­هاي مارکوف گونه اي از مدل­هاي احتمالي هستند، با اين فرض که مي­توان احتمال برخي از پديده­ها را بدون دانستن تاريخچه خيلي دور آن­ها، تنها با دانستن حالت قبلي، پيش بيني نمود.
  • #17 محاسبه احتمال کلمه بعدي مي­تواند بسيار مرتبط با محاسبه احتمال يک دنباله از کلمات باشد.
  • #18 در تعريفي ديگر آنتروپي حداقل بيت هاي لازم را براي کدگذاري کردن مقادير متغير تصادفي X با تابع احتمال pمشخص مي­کند. اين کد گذاري به طور طبيعي بر حسب بيت مي­باشد و بنابراين مبناي لگاريتم 2 است. اما هر مبناي ديگري مي­تواند مورد استفاده قرار گيرد. ضمنا از مفروضات لگاريتم مورد استفاده در آنتروپي اين است که log 0 = 0 مي­باشد.در راه کار پيشنهادي مقداري نزديک به صفر استمي­توان آنتروپي را در قالب يک بازي بيست سوالي هم در نظر گرفت. شما براي اينکه پاسخ دهيد که يک حرف خاص (به عنوان مثال i) درون اين الفبا چيست به طور ميانگين با 2.5 سوال به پاسخ خواهيد رسيد. آيا حرف p و يا a است؟ (خير) ، آيا حرف صدا دار است؟ ...با اين فرض که سوالات مرتبط پرسيده شودبا کمک آنتروپي مي­توان مدل هايي که براي تشريح رفتار زبان ساخته شده اند را بهتر کرد ولي مواردي وجود دارد که مي­خواهيم چندين توزيع را با هم مقايسه شوند تا مشخص شود کدام يک به هم نزديک ترند و شباهت رفتاري بيشتري دارند. در اينجا مي­توان از آنتروپي متقاطع استفاده کرد که اجازه مي­دهد دو تابع احتمال با هم مقايسه شوند. زبان (که به طور خاص با مدل هاي n-گرام نشان داده مي­شوند)
  • #19 که در آن H(p) آنتروپي p، و DkL(p||q) فاصله kullback-leibler توزيع q از p است که به عنوان آنتروپي نسبي هم شناخته مي­شود.
  • #20 که در آن H(p) آنتروپي p، و DkL(p||q) فاصله kullback-leibler توزيع q از p است که به عنوان آنتروپي نسبي هم شناخته مي­شود.
  • #24 بنابر این اگر تعیین کننده ای در اجرای هدف وجود داشته باشد که در اجرای ثانی موجود نباشد باعث می­شود تمام n-گرام هایی که آن تعیین کننده در آنها شرکت داشته، در محاسباتش مقدار صفر را نتیجه دهد. باید توجه شود از آنجاییکه آنتروپی مقدار تفاوت را حساب می­کند، صفر به معنی شباهت است، در صورتی که رشته ها متفاوت هستند. در ضمن نمی­توان از مقدار پیش فرض لگاریتم استفاده کرد، زیرا مقدار بی نهایت باعث تخریب دیگر مقادیر به دست آمده در مجموع می­شود. بنابراین در این راه کار زمانی که احتمالی برابر صفر شود، به جای مقدار صفر کمترین احتمال ممکن به منظور نزدیک بودن به صفر، در نظرگرفته می­شود
  • #29 با تحليل خوشه­ها، جواب­هايي که هر خوشه به عنوان مسيرهاي مشکوک به خطا اعلام مي­کنند، ممکن است داراي اولويت هاي متفاوتي باشند و حتي در برخي موارد کاملاً متفاوت باشند. بنابراين با استفاده از رأي اکثريت بين خوشه­ها، زير مسيرهاي مشکوک به خطا به ترتيب اولويت معرفي خواهند شد. . بر حسب ترتيب ظاهر شدن هر زير مسير در هر خوشه مقداري بين 0 و 1 به آن زير مسير در آن خوشه نسبت داده مي­شود که نزديک بودن به 1 به معناي اولويت بالاتر است. این مقدار به این خاطر است که بین اعداد به دست آمده در خوشه های مختلف یکپارچگی به وجود آید، زیرا صرفا ترتیب ظاهر شدن زیرمسیرها به دلیل متغیر بودن طول اجراهای هدف، دقت را پایین می­آورد.
  • #30 با تحليل خوشه­ها، جواب­هايي که هر خوشه به عنوان مسيرهاي مشکوک به خطا اعلام مي­کنند، ممکن است داراي اولويت هاي متفاوتي باشند و حتي در برخي موارد کاملاً متفاوت باشند. بنابراين با استفاده از رأي اکثريت بين خوشه­ها، زير مسيرهاي مشکوک به خطا به ترتيب اولويت معرفي خواهند شد. . بر حسب ترتيب ظاهر شدن هر زير مسير در هر خوشه مقداري بين 0 و 1 به آن زير مسير در آن خوشه نسبت داده مي­شود که نزديک بودن به 1 به معناي اولويت بالاتر است. این مقدار به این خاطر است که بین اعداد به دست آمده در خوشه های مختلف یکپارچگی به وجود آید، زیرا صرفا ترتیب ظاهر شدن زیرمسیرها به دلیل متغیر بودن طول اجراهای هدف، دقت را پایین می­آورد.
  • #31 با تحليل خوشه­ها، جواب­هايي که هر خوشه به عنوان مسيرهاي مشکوک به خطا اعلام مي­کنند، ممکن است داراي اولويت هاي متفاوتي باشند و حتي در برخي موارد کاملاً متفاوت باشند. بنابراين با استفاده از رأي اکثريت بين خوشه­ها، زير مسيرهاي مشکوک به خطا به ترتيب اولويت معرفي خواهند شد. . بر حسب ترتيب ظاهر شدن هر زير مسير در هر خوشه مقداري بين 0 و 1 به آن زير مسير در آن خوشه نسبت داده مي­شود که نزديک بودن به 1 به معناي اولويت بالاتر است. این مقدار به این خاطر است که بین اعداد به دست آمده در خوشه های مختلف یکپارچگی به وجود آید، زیرا صرفا ترتیب ظاهر شدن زیرمسیرها به دلیل متغیر بودن طول اجراهای هدف، دقت را پایین می­آورد.