Go to file
Claudio Maggioni 7bcd8c53df done 2023-10-18 23:10:43 +02:00
.idea done 2023-10-18 23:10:43 +02:00
lib Initial commit 2023-10-18 19:57:49 +00:00
src/ch/usi/inf/sp done 2023-10-18 23:10:43 +02:00
test/ch/usi/inf/sp Initial commit 2023-10-18 19:57:49 +00:00
test-input Initial commit 2023-10-18 19:57:49 +00:00
test-output done 2023-10-18 23:10:43 +02:00
.gitignore done 2023-10-18 23:10:43 +02:00
README.md done 2023-10-18 23:10:43 +02:00
compile-tests.sh done 2023-10-18 23:10:43 +02:00
starter-lab-04-dominator-analysis.iml done 2023-10-18 23:10:43 +02:00

README.md

Lab 4 - Software Performance 2023

This is Lab 4 of the Software Performance course at USI.

Go to this Lab on iCorsi.

Submission Info

Property Value
First Name Claudio
Last Name Maggioni

NOTE: the combined PDFs for all CFGs, all combined outputs and all DTs can be found in test-output/all.cfg.pdf, test-output/all.combined.pdf and test-output/all.dt.pdf respectively.

Submission Checklist

Please complete this checklist (turn [ ] into [X]) before you submit:

  • I completed the above Submission Info
  • I built the project in IntelliJ (Build > Build Project)
  • I (re)implemented the ControlFlowGraphBuilder (copy from Lab 3)
  • I (re)implemented the ControlFlowGraphRenderer (copy from Lab 3)
  • I implemented the Traversal
  • I implemented the DominatorAnalyzer
  • I wrote the source code myself and did not look at the source code of my class mates
  • I ran all the JUnit tests and verified that they all pass
  • I manually checked that my implementation is correct by doing this:
    • I studied the test-input/ExampleClass.java source code
    • I ran App to produce the dot files (in test-output/)
    • I ran dot to turn the dot files in test-output into a PDF
    • I manually verified that the PDF contains a set of pages per method of ExampleClass
    • I manually verified that the CFGs in the PDFs correspond to the methods' source code
    • I manually verified that the dominator trees in the PDFs correspond to the method's source code
  • I committed my changes (at least one commit, but possibly many)
  • I pushed my commits to GitHub