Occam: Automated Software Winnowing
Gregory Malecha 1 Ashish Gehani2 Natarajan Shankar 2
1Harvard 2SRI Malecha, Gehani, Shankar Occam: Automated Software Winnowing 1 / 18
Occam : Automated Software Winnowing Gregory Malecha 1 Ashish Gehani - - PowerPoint PPT Presentation
Occam : Automated Software Winnowing Gregory Malecha 1 Ashish Gehani 2 Natarajan Shankar 2 1 Harvard 2 SRI Malecha, Gehani, Shankar Occam : Automated Software Winnowing 1 / 18 A story of success... Software engineering has been so successful
1Harvard 2SRI Malecha, Gehani, Shankar Occam: Automated Software Winnowing 1 / 18
Malecha, Gehani, Shankar Occam: Automated Software Winnowing 2 / 18
Malecha, Gehani, Shankar Occam: Automated Software Winnowing 2 / 18
Malecha, Gehani, Shankar Occam: Automated Software Winnowing 2 / 18
Malecha, Gehani, Shankar Occam: Automated Software Winnowing 2 / 18
Malecha, Gehani, Shankar Occam: Automated Software Winnowing 2 / 18
Winnowing
1 Reduce the “functionality” of a system
2 Overcome static analysis limitations
3 Monitor systems and enforce dynamic policies
Malecha, Gehani, Shankar Occam: Automated Software Winnowing 3 / 18
Winnowing
Malecha, Gehani, Shankar Occam: Automated Software Winnowing 4 / 18
Winnowing Winnowing a Single Module
Malecha, Gehani, Shankar Occam: Automated Software Winnowing 5 / 18
Winnowing Winnowing a Single Module
Winnowing Winnowing a Single Module
Malecha, Gehani, Shankar Occam: Automated Software Winnowing 6 / 18
Winnowing Winnowing a Single Module
Winnowing Winnowing a Single Module
Malecha, Gehani, Shankar Occam: Automated Software Winnowing 7 / 18
Winnowing Winnowing a Single Module
Winnowing Winnowing a Single Module
Malecha, Gehani, Shankar Occam: Automated Software Winnowing 8 / 18
Making Dynamics into Statics
1 Reduce the “functionality” of a system
2 Overcome static analysis limitations
3 Monitor systems and enforce dynamic policies
Malecha, Gehani, Shankar Occam: Automated Software Winnowing 9 / 18
Making Dynamics into Statics
Malecha, Gehani, Shankar Occam: Automated Software Winnowing 10 / 18
Making Dynamics into Statics
1 “Statically analyze” the PHP code and determine the functions that
2 Implement a transformation that will replace these unused functions
Malecha, Gehani, Shankar Occam: Automated Software Winnowing 11 / 18
Making Dynamics into Statics
Malecha, Gehani, Shankar Occam: Automated Software Winnowing 12 / 18
Making Dynamics into Statics
Making Dynamics into Statics
Malecha, Gehani, Shankar Occam: Automated Software Winnowing 13 / 18
Making Dynamics into Statics
Making Dynamics into Statics
Malecha, Gehani, Shankar Occam: Automated Software Winnowing 14 / 18
Monitoring
1 Reduce the “functionality” of a system
2 Overcome static analysis limitations
3 Monitor systems and enforce dynamic policies
Malecha, Gehani, Shankar Occam: Automated Software Winnowing 15 / 18
Monitoring
Malecha, Gehani, Shankar Occam: Automated Software Winnowing 16 / 18
Monitoring
Malecha, Gehani, Shankar Occam: Automated Software Winnowing 17 / 18
Conclusions
Malecha, Gehani, Shankar Occam: Automated Software Winnowing 18 / 18