| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
| Name | Name | Last commit date | ||
|---|---|---|---|---|
parent directory.. | ||||
This is the tutorial page originally designed for ASE 2023. It might not be updated on every release, so please open an issue if something does not work. Original slides of the ASE 2023 tutorial: Google slides
Table of contents:
To isolate the packages that you install during this tutorial either use Docker, or use a virtual environment.
Note: Changing the code in your host machine does not change the code inside the container. So you either need to share the directory using -v option when running docker (-v .:/dynapyt/), or repeat steps 2 and 3 each time you modify or implement an analysis.
pip install dynapytgit clone https://github.com/sola-st/DynaPyt.git
cd DynaPyt
pip install .python -m dynapyt.run_instrumentation \
--analysis dynapyt.analyses.TraceAll.TraceAll \
--directory task1python -m dynapyt.run_analysis \
--analysis dynapyt.analyses.TraceAll.TraceAll \
--entry task1/main.pyGenerate a log of branches taken and their truth values.
python -m dynapyt.run_instrumentation \
--analysis tutorial_analyses.BranchCoverageAnalysis.BranchCoverageAnalysis \
--directory task2python -m dynapyt.run_analysis \
--analysis tutorial_analyses.BranchCoverageAnalysis.BranchCoverageAnalysis \
--entry task2/main.pyGenerate the graph of dynamic function calls.
python -m dynapyt.run_instrumentation \
--analysis tutorial_analyses.CallGraphAnalysis.CallGraphAnalysis \
--directory task3python -m dynapyt.run_analysis \
--analysis tutorial_analyses.CallGraphAnalysis.CallGraphAnalysis \
--entry task3/main.pyString concatenation with += is slower than "".join(). Find cases that a string gets appended in a loop.
python -m dynapyt.run_instrumentation \
--analysis tutorial_analyses.SlowStringConcatAnalysis.SlowStringConcatAnalysis \
--directory task4python -m dynapyt.run_analysis \
--analysis tutorial_analyses.SlowStringConcatAnalysis.SlowStringConcatAnalysis \
--entry task4/main.pyForce the execution to always take the opposite branch.
python -m dynapyt.run_instrumentation \
--analysis tutorial_analyses.OppositeBranchAnalysis.OppositeBranchAnalysis \
--directory task5python -m dynapyt.run_analysis \
--analysis tutorial_analyses.OppositeBranchAnalysis.OppositeBranchAnalysis \
--entry task5/main.py| Back | FazBrowse Home | New Git URL |