Mining Software History to Improve Software Maintenance Quality
description
Transcript of Mining Software History to Improve Software Maintenance Quality
![Page 1: Mining Software History to Improve Software Maintenance Quality](https://reader033.fdocuments.net/reader033/viewer/2022042720/56816390550346895dd48568/html5/thumbnails/1.jpg)
Intelligent Database Systems Lab
國立雲林科技大學National Yunlin University of Science and Technology
Mining Software History to Improve Software Maintenance Quality
Presenter : Li Shu-YaAuthors : Alexander Tarvo, Microsoft
Software, 2009
![Page 2: Mining Software History to Improve Software Maintenance Quality](https://reader033.fdocuments.net/reader033/viewer/2022042720/56816390550346895dd48568/html5/thumbnails/2.jpg)
Intelligent Database Systems Lab
N.Y.U.S.T.
I. M.
2
Outline
Motivation Objective Methodology Experiments and Results Conclusion Comments
![Page 3: Mining Software History to Improve Software Maintenance Quality](https://reader033.fdocuments.net/reader033/viewer/2022042720/56816390550346895dd48568/html5/thumbnails/3.jpg)
Intelligent Database Systems Lab
N.Y.U.S.T.
I. M.Motivation
3
Bug? UpdateBug? Update
Bug? UpateBug? UpdateBug? UpdateBug? Update
Bug? UpdateBug? Update
Alex
專長:把 bug 越 De 越多…專長: Debug
Oh! SoftwareRegressions?!
I must improve it!
A story in Micosoft …
King of Garbage
我最會 Debug 了(叫我 king..)
King of Destruction
我是破壞王(我也是 king..怎樣~)
![Page 4: Mining Software History to Improve Software Maintenance Quality](https://reader033.fdocuments.net/reader033/viewer/2022042720/56816390550346895dd48568/html5/thumbnails/4.jpg)
Intelligent Database Systems Lab
N.Y.U.S.T.
I. M.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.
4
![Page 5: Mining Software History to Improve Software Maintenance Quality](https://reader033.fdocuments.net/reader033/viewer/2022042720/56816390550346895dd48568/html5/thumbnails/5.jpg)
Intelligent Database Systems Lab
N.Y.U.S.T.
I. M.Methodology – System Overview
5
Binary Change Tracer (BCT)
![Page 6: Mining Software History to Improve Software Maintenance Quality](https://reader033.fdocuments.net/reader033/viewer/2022042720/56816390550346895dd48568/html5/thumbnails/6.jpg)
Intelligent Database Systems Lab
N.Y.U.S.T.
I. M.Binary Change Tracer (BCT)
6
1. Dividing the binary into components.2. Extracting the history of code changes
3. Associating code changes with bugs. 4. Storing the extracted data
Bug trackingdatabases
(BTDs)
Check-in IDs in VCS
Relate
BCT
Bugscheck-insDevelopersBinariessource filesfunctions
code complexityCouplingOO metrics
MaX
![Page 7: Mining Software History to Improve Software Maintenance Quality](https://reader033.fdocuments.net/reader033/viewer/2022042720/56816390550346895dd48568/html5/thumbnails/7.jpg)
Intelligent Database Systems Lab
N.Y.U.S.T.
I. M.Experiments
7
the best indicators of regression risksource files affected by the fixAll functions changea new functionality
![Page 8: Mining Software History to Improve Software Maintenance Quality](https://reader033.fdocuments.net/reader033/viewer/2022042720/56816390550346895dd48568/html5/thumbnails/8.jpg)
Intelligent Database Systems Lab
N.Y.U.S.T.
I. M.Conclusion
This model is useful for risk prediction.
82009 年 Micosoft 最佳員工獎
還好有這個系統讓我沒有被裁員
![Page 9: Mining Software History to Improve Software Maintenance Quality](https://reader033.fdocuments.net/reader033/viewer/2022042720/56816390550346895dd48568/html5/thumbnails/9.jpg)
Intelligent Database Systems Lab
N.Y.U.S.T.
I. M.Comments
Advantage It really improve software maintenance quality
Drawback …
Application Software Maintenance
9