140 likes | 469 Views
Robocheck – Integrated Code Validation Tool. Scientific Advisors. Cezar Socoteanu cezar.socoteanu @gmail.com Iulia Bolcu iulia.bolcu @ cti.pub.ro. Bachelor Presentation Session - July 201 1. As. Drd. Ing. R ăzvan Deaconescu Drd. Ing. Octavian Purdilă. Content. Why Robocheck? Workflow
E N D
Robocheck – Integrated Code Validation Tool Scientific Advisors Cezar Socoteanucezar.socoteanu@gmail.com Iulia Bolcuiulia.bolcu@cti.pub.ro • Bachelor Presentation Session - July 2011 As. Drd. Ing. Răzvan Deaconescu Drd. Ing. Octavian Purdilă
Content • Why Robocheck? • Workflow • Architechture • Robocheck Features • Implementation • Further Improvement • Conclusion Bachelor Presentation Session - July 2011
Why Robocheck? Bachelor Presentation Session - July 2011
Still…why Robocheck? Bachelor Presentation Session - July 2011
Workflow Bachelor Presentation Session - July 2011
Robocheck Features Bachelor Presentation Session - July 2011
Architechture Bachelor Presentation Session - July 2011
Application Configuration • rbc_config.xml configuration file • configure tool • 3 file sections: core initialization, installed tools and registered errors Bachelor Presentation Session - July 2011
Robocheck Core • Set of functions for extracting data from the rbc_config.xml file • Functions for effectively running the integrated tools • Using the core can be done with: init_robocheck() and run_robocheck() init_robocheck()call run_robocheck()call Bachelor Presentation Session - July 2011
Penalty Module • Errors have an unique ID • Each error has a single penalty associated • A penalty consists in: a penalty message, a value and a value type Bachelor Presentation Session - July 2011
Sparse integration • Static library written by Linus Torvalds • Offers an API for frontend and backend analysis • Detected features: function line count, function indentation level, black listed function calls have the return value verified and others Bachelor Presentation Session - July 2011
Future Improvement • Windows porting • Fault tolerance • Integrate tools for other languages • VMChecker integration Bachelor Presentation Session - July 2011
Conclusion • Configurability and extensibility • Automation and subjectivity elimination • Program proper functioning • Complementary part of VMChecker • We`re almost there… Bachelor Presentation Session - July 2011
Questions • Static and dynamic program analysis • Runtime library loading • XML • AST • User Interactivity Bachelor Presentation Session - July 2011