90 likes | 213 Vues
This guide presents an overview of implementing a pattern mining tool for analyzing legacy C code to create dataflow models. Initiated by Dr. Tom Verhoeff and other contributors, it aims to utilize advanced pattern matching techniques to extract features from C programs. With specific focus on reverse engineering, the tool will analyze code using effective matchers for dataflow patterns, ensuring compatibility with both Windows and Linux systems. Key strategies for developing the tool, testing methodologies, and understanding GXF file structures are also discussed.
E N D
Dataflow Pattern Mining from ‘C’ Code Guides: Dr. Tom Verhoeff (TU/e) P. Kourzanov, ir (NXP) Y. Dajsuren, PDEng (Virage Logic) Student: Aditya S. Deshpande
Introduction Eclipse Plugin PIM - PSM GXF Model (PSM) GXF Model (PIM) PIC - PIM PSM - PSC PSC PIC
Motivation Source-code contains all the information regarding the software system. “The process of analyzing a subject system to create representations of the system at a higher level of abstraction is called reverse engineering”. -- Chikofsky First task in RE is the processing of the code to obtain the desired data.
Contd. PIC + Stream GXF AST Pattern matching CIGLOO Dataflow model. Pattern Mining – Source to model transformations
Contd. C files – Actor descriptions GXF files – Connections Cigloo – A C parser for FFI from BIGLOO. Pattern matching - Matching Function Signatures.
Project Goal Implementation of a pattern mining tool for the Dataflow Models from (legacy) C code. Tool should be capable of analyzing all the features of C. Incorporate effective pattern matchers for dataflow patterns. Tool should run on both Windows and Linux platforms.
Existing Prototype LIME Front End(FE) – Needs to be improvised. Add more features to C file and make it more formal. (Need to discuss)
Success Criteria. Integrate the model with Nishanth’s to verify.
Plan Understand Cigloo and and extend it to parse the whole C language and not just the FFI’s.(Currently) Test CIGLOO on software stacks and verify. Acquaint with the existing prototype. Understand the pattern matching techniques which need to be applied. Understand the GXF DTD structure and the GXF file to be created.