Difference: FRCVLabMLSAFilters (3 vs. 4)

Revision 42019-05-29 - LabTech

Line: 1 to 1
 
META TOPICPARENT name="FRCVLabMLSA"
<meta name="robots" content="noindex" />

MLSA_logo.png Filters and Pipelines

Line: 15 to 15
 
  • 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
Changed:
<
<
  • 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
 
This site is powered by the TWiki collaboration platform Powered by PerlCopyright © 2008-2019 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback