Master Thesis presentation

402 views

Published on

اشکالزدايي يک مرحله مهم از چرخه توليد نرم افزار است و برنامه نويسان کسر زيادي از وقتشان را صرف اين مرحله مي کنند. هدف، ارايه راه کاري براي تعيين خودکار محدوده خطا هاي پنهان در متن برنامه ها مي-باشد. مي‌توان محدوده علت خطا را براساس مقايسه و تحليل مسيرهاي اجرايي صحيح و غلط بدست آورد. براساس شباهت مسيرهاي اجرايي مي توان آنها را دسته بندي نمود. جهت بدست آوردن شباهت مسيرها، مدل هاي n-گرام اجراها را بدست آورده و سپس با استفاده از آنتروپي متقاطع شباهت بين اين مدل ها را محاسبه ميکنيم. براي بدست آوردن مدلهاي n-گرام که در دسته مدل هاي مارکوف قرار ميگيرند احتمالات MLE توسط شمارش کلمات يا به عبارتي n-گرام ها محاسبه ميشوند. سپس با تحليل هر دسته، به کمک آنتروپي متقاطع، يک سري مکان هاي مشکوک به خطا شناسايي ميشوند و در نهايت با استفاده از روش پيشنهادي براي رأي اکثريت بين دسته ها، مکان هاي مشکوک به خطا به صورت بخش هايي از يک زير مسير به برنامه نويس معرفي مي شود. راه کار ارائه شده در اين پايان نامه، با دقت بالا مکان خطا را نشان مي دهد و نتايج بدست آمده از اِعمال اين راه کار به مجموعه محک زيمنس، گوياي آن مي باشد.

Published in: Technology, Business
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
402
On SlideShare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
4
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide
  • طبق تعریف اشکال زدایی یک فرآیند سیستماتیک در یافتن و کم کردن تعداد خطاهاdebuggingتمام خطا ها از یک اصل ریشه گیرفته اند: چیزی که درست بنظر برسد، ولی در اصل غلط باشد.====================بارز ترین واکنش به چنین وضعیتی آن است که بطور تصادفی در کد تغییراتی انجام دهند، به امید آنکه برنامه مجددا شروع به کار کند. چراکه برنامه نویسان هیچ ایده ای در مورد اینکه چگونه به اشکال زدایی بپردازند، ندارند.تشخیص خودکار خطاهای نرم افزار می تواند بهره وری مرحله اشکال زدایی را بهبود ببخشد، و لذا راه کاری مهم برای توسعه نرم افزارهای قابل اعتماد است.
  • مهمترين نقاطِ برنامه که جهت تشخيص عملکرد برنامه، به عنوان تعيين کننده انتخاب مي­شوندمقادير حاصل از ارزيابي تعيين کننده ها، درست يا نادرست هستند.
  • اطلاعات حاصل از مستندگذاري، ذخیره شده و سپس براي تحلیل رفتار برنامه مورد استفاده قرار میگیرند
  • تعیین خواهد کرد که آی ا برنامه براساس ورودي هاي مربوطه به درستی عمل می کند یا خیر
  • ايده پيش بيني کلمه توسط مدل هاي احتمالي بطور رسمي n-گرام ناميده ميشود، که کلمه بعدي را توسط n-1کلمه قبلي پيش بيني ميکند. من دوست دارم خارج از کشور . . . {زندگی کنم، درس بخوانم، کارکنم}محاسبه احتمال کلمه بعدي ≈ محاسبه احتمال يک دنباله از کلمات
  • احتمالات بر مبناي شمارش اشياء هستندتخمين احتمالات بطور مستقيم از روي شمارش در بسياري از حالات بخوبي کار مي­کند
  • از آنجاييکه زبان بسيار پوياست و هر لحظه کلمات جديدي به آن اضافه ميشود، ممکن است هيچ گاه کلمه مورد نظر در جايي ديده نشده باشدمبناي مدل n-گرام اين است که به جاي محاسبه احتمال يک کلمه که پيشينه آن داده شده است، پيشينه با استفاده از چند کلمه آخرش تقريب زده شود.مدل­هاي مارکوف گونه اي از مدل­هاي احتمالي هستند، با اين فرض که مي­توان احتمال برخي از پديده­ها را بدون دانستن تاريخچه خيلي دور آن­ها، تنها با دانستن حالت قبلي، پيش بيني نمود.
  • مدل­هاي مارکوف گونه اي از مدل­هاي احتمالي هستند، با اين فرض که مي­توان احتمال برخي از پديده­ها را بدون دانستن تاريخچه خيلي دور آن­ها، تنها با دانستن حالت قبلي، پيش بيني نمود.
  • محاسبه احتمال کلمه بعدي مي­تواند بسيار مرتبط با محاسبه احتمال يک دنباله از کلمات باشد.
  • در تعريفي ديگر آنتروپي حداقل بيت هاي لازم را براي کدگذاري کردن مقادير متغير تصادفي X با تابع احتمال pمشخص مي­کند. اين کد گذاري به طور طبيعي بر حسب بيت مي­باشد و بنابراين مبناي لگاريتم 2 است. اما هر مبناي ديگري مي­تواند مورد استفاده قرار گيرد. ضمنا از مفروضات لگاريتم مورد استفاده در آنتروپي اين است که log 0 = 0 مي­باشد.در راه کار پيشنهادي مقداري نزديک به صفر استمي­توان آنتروپي را در قالب يک بازي بيست سوالي هم در نظر گرفت. شما براي اينکه پاسخ دهيد که يک حرف خاص (به عنوان مثال i) درون اين الفبا چيست به طور ميانگين با 2.5 سوال به پاسخ خواهيد رسيد. آيا حرف p و يا a است؟ (خير) ، آيا حرف صدا دار است؟ ...با اين فرض که سوالات مرتبط پرسيده شودبا کمک آنتروپي مي­توان مدل هايي که براي تشريح رفتار زبان ساخته شده اند را بهتر کرد ولي مواردي وجود دارد که مي­خواهيم چندين توزيع را با هم مقايسه شوند تا مشخص شود کدام يک به هم نزديک ترند و شباهت رفتاري بيشتري دارند. در اينجا مي­توان از آنتروپي متقاطع استفاده کرد که اجازه مي­دهد دو تابع احتمال با هم مقايسه شوند. زبان (که به طور خاص با مدل هاي n-گرام نشان داده مي­شوند)
  • که در آن H(p) آنتروپي p، و DkL(p||q) فاصله kullback-leibler توزيع q از p است که به عنوان آنتروپي نسبي هم شناخته مي­شود.
  • که در آن H(p) آنتروپي p، و DkL(p||q) فاصله kullback-leibler توزيع q از p است که به عنوان آنتروپي نسبي هم شناخته مي­شود.
  • بنابر این اگر تعیین کننده ای در اجرای هدف وجود داشته باشد که در اجرای ثانی موجود نباشد باعث می­شود تمام n-گرام هایی که آن تعیین کننده در آنها شرکت داشته، در محاسباتش مقدار صفر را نتیجه دهد. باید توجه شود از آنجاییکه آنتروپی مقدار تفاوت را حساب می­کند، صفر به معنی شباهت است، در صورتی که رشته ها متفاوت هستند. در ضمن نمی­توان از مقدار پیش فرض لگاریتم استفاده کرد، زیرا مقدار بی نهایت باعث تخریب دیگر مقادیر به دست آمده در مجموع می­شود. بنابراین در این راه کار زمانی که احتمالی برابر صفر شود، به جای مقدار صفر کمترین احتمال ممکن به منظور نزدیک بودن به صفر، در نظرگرفته می­شود
  • با تحليل خوشه­ها، جواب­هايي که هر خوشه به عنوان مسيرهاي مشکوک به خطا اعلام مي­کنند، ممکن است داراي اولويت هاي متفاوتي باشند و حتي در برخي موارد کاملاً متفاوت باشند. بنابراين با استفاده از رأي اکثريت بين خوشه­ها، زير مسيرهاي مشکوک به خطا به ترتيب اولويت معرفي خواهند شد. . بر حسب ترتيب ظاهر شدن هر زير مسير در هر خوشه مقداري بين 0 و 1 به آن زير مسير در آن خوشه نسبت داده مي­شود که نزديک بودن به 1 به معناي اولويت بالاتر است. این مقدار به این خاطر است که بین اعداد به دست آمده در خوشه های مختلف یکپارچگی به وجود آید، زیرا صرفا ترتیب ظاهر شدن زیرمسیرها به دلیل متغیر بودن طول اجراهای هدف، دقت را پایین می­آورد.
  • با تحليل خوشه­ها، جواب­هايي که هر خوشه به عنوان مسيرهاي مشکوک به خطا اعلام مي­کنند، ممکن است داراي اولويت هاي متفاوتي باشند و حتي در برخي موارد کاملاً متفاوت باشند. بنابراين با استفاده از رأي اکثريت بين خوشه­ها، زير مسيرهاي مشکوک به خطا به ترتيب اولويت معرفي خواهند شد. . بر حسب ترتيب ظاهر شدن هر زير مسير در هر خوشه مقداري بين 0 و 1 به آن زير مسير در آن خوشه نسبت داده مي­شود که نزديک بودن به 1 به معناي اولويت بالاتر است. این مقدار به این خاطر است که بین اعداد به دست آمده در خوشه های مختلف یکپارچگی به وجود آید، زیرا صرفا ترتیب ظاهر شدن زیرمسیرها به دلیل متغیر بودن طول اجراهای هدف، دقت را پایین می­آورد.
  • با تحليل خوشه­ها، جواب­هايي که هر خوشه به عنوان مسيرهاي مشکوک به خطا اعلام مي­کنند، ممکن است داراي اولويت هاي متفاوتي باشند و حتي در برخي موارد کاملاً متفاوت باشند. بنابراين با استفاده از رأي اکثريت بين خوشه­ها، زير مسيرهاي مشکوک به خطا به ترتيب اولويت معرفي خواهند شد. . بر حسب ترتيب ظاهر شدن هر زير مسير در هر خوشه مقداري بين 0 و 1 به آن زير مسير در آن خوشه نسبت داده مي­شود که نزديک بودن به 1 به معناي اولويت بالاتر است. این مقدار به این خاطر است که بین اعداد به دست آمده در خوشه های مختلف یکپارچگی به وجود آید، زیرا صرفا ترتیب ظاهر شدن زیرمسیرها به دلیل متغیر بودن طول اجراهای هدف، دقت را پایین می­آورد.
  • Master Thesis presentation

    1. 1. -n
    2. 2.  int *a = new …. . . . If (a>22) (a>2) (a[0] >22) fail(); else . . . • • • •   
    3. 3. ◄ –n -n ◄ ◄
    4. 4. 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; ; } • • • • 
    5. 5.    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"); } 
    6. 6. -n -n -n n-1 ≈
    7. 7. -n P(w|h) h w p( w | w1n ) n 1 1 p( wn | w ) C ( w1n 1wn ) C (w1n 1 )
    8. 8. -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 )
    9. 9. -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
    10. 10. -n - SAQXYAQUZ A S Q P(X|AQ) Y U X Z
    11. 11. -n
    12. 12. H ( p) H (X ) p ( x) log p ( x) x X p X
    13. 13. 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 )
    14. 14. H ( p, q) H ( p) , if p H ( p, q) H ( p, q) H ( p, q) H (q, p) q
    15. 15. -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*
    16. 16. P P P P P P P ……… T C Pi RC P P P P P P ……… P P S
    17. 17. 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)
    18. 18. 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
    19. 19. 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
    20. 20. 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
    21. 21. x y S S S
    22. 22. y Θ tan( ) 0 2 y x y x tan , tan Sf Dp Sp Df 1 y x
    23. 23. priority(ngram) score(ngram) ingram N k c 1 ( priority(ngram))c
    24. 24. Regression Lasso <1% < 10 % < 20 % < 30 % Tarantula SOBER Liblit
    25. 25. Tarantula SOBER Liblit Regression Lasso Proposed Method

    ×