To launch the application, use the following commands based on whether you are analyzing a folder of traces or a single trace file:
-
Launching the App
python3 traces_analyzer.py
-
Analyzing a Folder of Traces
Run this in the directory containing the folder with traces:python3 ../src/traces_analyzer.py --folder nameFolder
The output will be saved as a PDF named:
report_nameFolder.pdf. -
Analyzing a Single Trace File
Run this in the directory containing the trace file:python3 ../src/traces_analyzer.py --file nameFile
The output will be saved as a PDF named:
report_nameFile.pdf.
Contains the code to define the factory for strace objects.
Defines the concrete products created by the factory. Each product corresponds to a specific trace processing type or category.
Contains functions related to graph generation and manipulation:
add_node_to_graph
Adds a node to the graph. Node attributes vary based on the type of node.add_edge_if_not_exists
Adds an edge between nodes if it does not already exist.add_relationship_to_graph
Adds an edge between nodes, utilizingadd_edge_if_not_exists.
Contains the parser file, which uses grammarV3.lark to parse the trace file into analyzable components.
The main file of the project, responsible for handling command-line inputs and initiating the trace analysis.
It handles the system calls and obtains their corresponding objects, which are used in trace analysis.