|
META TOPICPARENT |
name="FRCVLabMLSA" |
<meta name="robots" content="noindex" />
Filters and Pipelines |
|
- jsViaPy.py reads a Python function call file NAME.py_call.csv and scans for JavaScript interoperability. Currently it only implements the PyV8 eval API. It outputs a revised csv function call file NAME.py_finalcall.csv.
- pyViaJs.py reads a JavaScript function call file NAME.js_call.csv and scans for Python interoperatbility. Currently it only implements the JQuerry ajax API. It outputs a revised csv function call file NAME.py_finalcall.csv.
Multilingual combination and graphin filters |
|
< < |
- mergeFunCall.py merges the function calls in the XX_finalcall.csv files into a single function call file. It also finds the interoperability of python programs calling C/C++ procedures.When called from mlcg.py, this output is given the name of the first argument to mlcg.py, e.g. if the argument was test0, then the file is called test0_callgraph.csv.
- generateDOT.py produces a PDF file from a call graph csv file displaying the call graph
|
> > |
- mergeFunCall.py merges the function calls in the XX_finalcall.csv files into a single function call file. It also finds the interoperability of python programs calling C/C++ procedures(pybind11). When called from mlcg.py, this output is given the name of the first argument to mlcg.py, e.g. if the argument was test0, then the file is called test0_callgraph.csv.
- Pybind11:
- MLSA processes all the call.csv files of the programs(C++, Python) and generates a merged csv file that shows the interoperability of programs by showing all function calls (shows where a function is defined and where is it called).
- In Python csvfile, it sees function calls , if it is of type 'A.B' it splits it and tries to find for a module/file named A and searches for the function definition in its csv file –'B' (using funcs.csv). It then adds the function call program name as 'A' and if the module appears to be a C++ file ,it tries to find if 'B' is present as the first argument of “OBJ.def” . If that is the case it replaces 'B' to the function name present in the second argument of “OBJ.def”in the csvfile.
- generateDOT.py produces a PDF file from a call graph csv file displaying the call graph.
|
| Flow Control Filters
- cFlowControl.py reads an AST file NAME.c_ast.txt (or cpp) and generates a csv file containing the forward flow control information NAME.c_fcfg.csv, and reverse control flow information NAME.c_rcfg.csv.
- pyFlowControl.py - does not currently exist
|