Expediting Programmer AWAREness of Anomalous Code Sarah E. Smith Laurie Williams Jun Xu November 11,...
-
Upload
toby-watkins -
Category
Documents
-
view
217 -
download
1
Transcript of Expediting Programmer AWAREness of Anomalous Code Sarah E. Smith Laurie Williams Jun Xu November 11,...
![Page 1: Expediting Programmer AWAREness of Anomalous Code Sarah E. Smith Laurie Williams Jun Xu November 11, 2005.](https://reader033.fdocuments.us/reader033/viewer/2022051417/56649db25503460f94aa18c9/html5/thumbnails/1.jpg)
Expediting Programmer AWAREness of Anomalous Code
Sarah E. Smith
Laurie Williams
Jun Xu
November 11, 2005
![Page 2: Expediting Programmer AWAREness of Anomalous Code Sarah E. Smith Laurie Williams Jun Xu November 11, 2005.](https://reader033.fdocuments.us/reader033/viewer/2022051417/56649db25503460f94aa18c9/html5/thumbnails/2.jpg)
Contents
• Motivation• Research Objective• AWARE
– Functional Organization– Alert Ranking and Filtering– Ranking Metrics
• Evaluation Metrics• Progress & Future Work• Conclusions
![Page 3: Expediting Programmer AWAREness of Anomalous Code Sarah E. Smith Laurie Williams Jun Xu November 11, 2005.](https://reader033.fdocuments.us/reader033/viewer/2022051417/56649db25503460f94aa18c9/html5/thumbnails/3.jpg)
Motivation
• Faults are detected during testing, code analysis, or after code release.
• Long fix latency could increase the cost of fault fix.
• Test-driven development (TDD) involves a programmer writing tests and code in rapid cycles
• Incorporating static analysis into TDD unit test cycles will increase the scope of faults detected.
![Page 4: Expediting Programmer AWAREness of Anomalous Code Sarah E. Smith Laurie Williams Jun Xu November 11, 2005.](https://reader033.fdocuments.us/reader033/viewer/2022051417/56649db25503460f94aa18c9/html5/thumbnails/4.jpg)
Research Objective
To enhance test-driven development feedback loops to automatically and continuously provide ranked, prioritized, and filtered alerts to the software engineer on the correctness and security of their code implementation during development.
![Page 5: Expediting Programmer AWAREness of Anomalous Code Sarah E. Smith Laurie Williams Jun Xu November 11, 2005.](https://reader033.fdocuments.us/reader033/viewer/2022051417/56649db25503460f94aa18c9/html5/thumbnails/5.jpg)
AWARE
• Automated Warning Application for Reliability Engineering
• Builds on Continuous Testing - running test cases using spare processor cycles while programmer continuous development.
• Combines compilation errors and warnings, static analysis warnings, and test case failures into a ranked listing.
![Page 6: Expediting Programmer AWAREness of Anomalous Code Sarah E. Smith Laurie Williams Jun Xu November 11, 2005.](https://reader033.fdocuments.us/reader033/viewer/2022051417/56649db25503460f94aa18c9/html5/thumbnails/6.jpg)
Functional Organization
![Page 7: Expediting Programmer AWAREness of Anomalous Code Sarah E. Smith Laurie Williams Jun Xu November 11, 2005.](https://reader033.fdocuments.us/reader033/viewer/2022051417/56649db25503460f94aa18c9/html5/thumbnails/7.jpg)
Alert Ranking and Filtering
• Rank static analysis and generated test case alerts based on the probability the alert is a true positive
• Internal ranking adjusted based on programmer feedback– Spam filters
![Page 8: Expediting Programmer AWAREness of Anomalous Code Sarah E. Smith Laurie Williams Jun Xu November 11, 2005.](https://reader033.fdocuments.us/reader033/viewer/2022051417/56649db25503460f94aa18c9/html5/thumbnails/8.jpg)
Ranking Metrics
• Type Accuracy: Categorization of alerts based on observed accuracy of alert type
• Redundancy Factor: Number of tools that report the same alert
• Code Locality: Alerts reported by static analysis tools cluster by locality
• Test Coverage: Areas of high test coverage will have fewer true alerts
![Page 9: Expediting Programmer AWAREness of Anomalous Code Sarah E. Smith Laurie Williams Jun Xu November 11, 2005.](https://reader033.fdocuments.us/reader033/viewer/2022051417/56649db25503460f94aa18c9/html5/thumbnails/9.jpg)
Evaluation Metrics
![Page 10: Expediting Programmer AWAREness of Anomalous Code Sarah E. Smith Laurie Williams Jun Xu November 11, 2005.](https://reader033.fdocuments.us/reader033/viewer/2022051417/56649db25503460f94aa18c9/html5/thumbnails/10.jpg)
Progress
• Current Work:– Development of AWARE tool for Eclipse IDE
• Future Work: – Feasibility study of efficacy of AWARE
• AWARE plug-in site:– http://arches.csc.ncsu.edu/smith/
![Page 11: Expediting Programmer AWAREness of Anomalous Code Sarah E. Smith Laurie Williams Jun Xu November 11, 2005.](https://reader033.fdocuments.us/reader033/viewer/2022051417/56649db25503460f94aa18c9/html5/thumbnails/11.jpg)
Conclusions
• Enhancing TDD should reduce ignorance time and therefore fix time on a larger number of faults than traditional TDD