90 likes | 182 Views
Mining Software History to Improve Software Maintenance Quality. Presenter : Li Shu-Ya Authors : Alexander Tarvo , Microsoft. Software, 2009 . Outline. Motivation Objective Methodology Experiments and Results Conclusion Comments. 我最會 Debug 了 ( 叫我 king..). Motivation.
E N D
Mining Software History to Improve Software Maintenance Quality Presenter : Li Shu-Ya Authors : Alexander Tarvo, Microsoft Software, 2009
Outline • Motivation • Objective • Methodology • Experiments and Results • Conclusion • Comments
我最會Debug了 (叫我king..) Motivation Bug? Update Bug? Update Bug? Upate Bug? Update Bug? Update Bug? Update Bug? Update Bug? Update 我是破壞王 (我也是king..怎樣~) King of Garbage King of Destruction 專長:把bug越De越多… 專長:Debug A story in Micosoft … Oh! Software Regressions?! I must improve it! Alex
Objectives • The best method to avoid regressions’ consequences • extensive testing of all fixes. • Need a tool or a method that can predict the amount of risk for each fix.
Methodology – System Overview Binary Change Tracer(BCT)
Binary Change Tracer (BCT) • 1. Dividing the binary into components. • 2. Extracting the history of code changes • 3. Associating code changes with bugs. • 4. Storing the extracted data Bugs check-ins Developers Binaries source files functions • Bug tracking • databases • (BTDs) code complexity Coupling OO metrics Relate Check-in IDs in VCS BCT MaX
Experiments the best indicators of regression risk source files affected by the fix All functions change a new functionality
Conclusion 還好有這個系統 讓我沒有被裁員 2009年 Micosoft最佳員工獎 This model is useful for risk prediction.
Comments • Advantage • It really improve software maintenance quality • Drawback • … • Application • Software Maintenance