1 / 12

Expediting Programmer AWAREness of Anomalous Code

Expediting Programmer AWAREness of Anomalous Code. Sarah E. Smith Laurie Williams Jun Xu November 11, 2005. Contents. Motivation Research Objective AWARE Functional Organization Alert Ranking and Filtering Ranking Metrics Evaluation Metrics Progress & Future Work Conclusions.

chenoa
Download Presentation

Expediting Programmer AWAREness of Anomalous Code

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Expediting Programmer AWAREness of Anomalous Code Sarah E. Smith Laurie Williams Jun Xu November 11, 2005

  2. Contents • Motivation • Research Objective • AWARE • Functional Organization • Alert Ranking and Filtering • Ranking Metrics • Evaluation Metrics • Progress & Future Work • Conclusions

  3. 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.

  4. 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.

  5. 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.

  6. Functional Organization

  7. 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

  8. 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

  9. Evaluation Metrics

  10. 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/

  11. Conclusions • Enhancing TDD should reduce ignorance time and therefore fix time on a larger number of faults than traditional TDD

  12. Questions? Sarah Smith: sarah_smith@ncsu.edu

More Related