Page 1
Author(s)
Politehnica University of
Bucharest
Automatic Control and Computers
Faculty
Computer Science
Department
Robocheck – Integrated Code Validation Tool
Cezar [email protected]
Iulia [email protected]
Bachelor Presentation Session - July 2011
As. Drd. Ing. Răzvan DeaconescuDrd. Ing. Octavian Purdilă
Scientific Advisors
Page 2
Content
Why Robocheck?WorkflowArchitechtureRobocheck FeaturesImplementationFurther ImprovementConclusion
22.04.23 Bachelor Presentation Session - July 2011 2
Page 3
Why Robocheck?
22.04.23 Bachelor Presentation Session - July 2011 3
Page 4
Still…why Robocheck?
22.04.23 Bachelor Presentation Session - July 2011 4
Page 5
Workflow
22.04.23 Bachelor Presentation Session - July 2011 5
Page 6
Robocheck Features
22.04.23 Bachelor Presentation Session - July 2011 6
Page 7
Architechture
22.04.23 Bachelor Presentation Session - July 2011 7
Page 8
Application Configuration
22.04.23 Bachelor Presentation Session - July 2011 8
rbc_config.xml configuration fileconfigure tool3 file sections: core initialization, installed
tools and registered errors
Page 9
Robocheck Core
22.04.23 Bachelor Presentation Session - July 2011 9
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() callrun_robocheck() call
Page 10
Penalty Module
Errors have an unique IDEach error has a single penalty associatedA penalty consists in: a penalty message, a
value and a value type
22.04.23 Bachelor Presentation Session - July 2011 10
Page 11
Sparse integration
Static library written by Linus TorvaldsOffers an API for frontend and backend
analysisDetected features: function line count,
function indentation level, black listed function calls have the return value verified and others
22.04.23 Bachelor Presentation Session - July 2011 11
Page 12
Future Improvement
Windows portingFault toleranceIntegrate tools for other languagesVMChecker integration
22.04.23 Bachelor Presentation Session - July 2011 12
Page 13
Conclusion
Configurability and extensibilityAutomation and subjectivity eliminationProgram proper functioningComplementary part of VMCheckerWe`re almost there…
22.04.23 Bachelor Presentation Session - July 2011 13
Page 14
Questions
Static and dynamic program analysisRuntime library loadingXMLASTUser Interactivity
22.04.23 Bachelor Presentation Session - July 2011 14