This project's goal is to extract all dependencies header #Include in a given directory.
Includes parsing and reformatting of .ta files given by scrML and understand.
Benchmarks each extraction
replace understand.ta with your raw.ta file from understand.
- place gcc-12.2.0 folder in the ./
- .....
- src
- gcc-12.2.0
- ....
- install srcMl run following comment in the terminal
srcml gcc-12.2.0 --verbose -o srcml_gcc.xml
srcml --xpath "//cpp:include" srcml_gcc.xml > scrML_query_result.xml
srcml --xpath "//src:call" srcml_gcc.xml > scrML_query_call_result.xml
srcml --xpath "//src:function_decl" srcml_gcc.xml > scrML_query_decl_result.xml
srcml --xpath "//src:decl" srcml_gcc.xml > scrML_query_var_decl_result.xml
save the result xmlfile in the ./
replace line1 of output xml to
<?xml version="1.0"?>
in order to make the parser run.
run ./DependencyExtraction/IncludeExtraction_srcML.java
run ./scrMLExtraction/srcMLExtraction.java
- sampling by with ./MethodBenchmarking/TApreprocess.java. it will choose all dependency from target files in the ground truth
- you will have local.ta file in ./LocalTA folder.
- run ./MethodBenchmarking/Benchmarking.java