Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Manuel messerig bachelor project #612

Open
wants to merge 234 commits into
base: vara-dev
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
234 commits
Select commit Hold shift + click to select a range
1b0abc7
Using project call operator in xz experiment
Aufrichtig98 Feb 7, 2022
ee3c530
Fixed binard call
Aufrichtig98 Feb 8, 2022
6c99456
Fixed minor issues
Aufrichtig98 Feb 8, 2022
ca957d5
Fixes binary execution context
vulder Feb 8, 2022
e407dd5
Changed relative path to file into absolut path and use compression l…
Mar 4, 2022
a315aff
Added a command to delete the previous created xz file, however it do…
Aufrichtig98 Apr 4, 2022
47ef8b6
delete existing xz file before compression instead of after
Aufrichtig98 Apr 6, 2022
c3491ab
Merge remote-tracking branch 'origin/vara-dev' into Manuel_Messerig_B…
Aufrichtig98 Apr 27, 2022
3a61f08
attempting to aggregate results in a zip
Aufrichtig98 Apr 30, 2022
da2bdb7
Changed output path of the time command
Aufrichtig98 May 2, 2022
57ec1ad
Added some debug lines
Aufrichtig98 May 2, 2022
1f91f25
Changed the folder path of ZippedFolder
Aufrichtig98 May 2, 2022
2f59514
First test using the time aggregate
Aufrichtig98 May 5, 2022
dc85ac9
Added debug lines
Aufrichtig98 May 5, 2022
9adc71c
Fixed a bug in the ls command
Aufrichtig98 May 5, 2022
6f0a039
Fixed path suffix from .txt to .zip
Aufrichtig98 May 5, 2022
2f6edb8
Fixed path for time aggregator
Aufrichtig98 May 5, 2022
c46a570
Changed the file rename method
Aufrichtig98 May 5, 2022
355ede6
cast string to path
Aufrichtig98 May 5, 2022
47b8fe2
Write aggregated results into a file
Aufrichtig98 May 6, 2022
7ae59ec
Made the result txt look nicer :)
Aufrichtig98 May 6, 2022
5940b98
Implemented method in time aggregate to calculate variance
Aufrichtig98 May 6, 2022
dba86f6
first attempt to use every compression level and aggregate them in on…
Aufrichtig98 May 7, 2022
9b2dba2
fixed bug, now all compression level should be used (hopefully)
Aufrichtig98 May 7, 2022
e5f1e0e
changed number of repetitions to 30
Aufrichtig98 May 8, 2022
482f05a
Removed the timeout and added compression level one
Aufrichtig98 May 13, 2022
89c4b0a
Added check to see if file exisist before trying to remove it
Aufrichtig98 May 14, 2022
cde7ab9
Added a remove command after if file exists
Aufrichtig98 May 15, 2022
eead077
Implemented first attempt of a whitebox experiment
Aufrichtig98 May 24, 2022
882012d
Changed some lines to see if it prevents compile errors
Aufrichtig98 May 24, 2022
86dbbaa
Merge branch 'vara-dev' into Manuel_Messerig_Bachelor_Project
vulder May 25, 2022
792becc
Merge remote-tracking branch 'origin/vara-dev' into Manuel_Messerig_B…
Aufrichtig98 Jun 1, 2022
a872744
New setup test
Aufrichtig98 Jun 1, 2022
506c8d1
updated path for new system
Aufrichtig98 Jun 2, 2022
54181ff
Adds an experiment to run the InstrumentationVerifier on a project
vulder Jun 8, 2022
a5c1707
Added TEFReport accumulate
Aufrichtig98 Jun 14, 2022
43d5a3d
Called tef report to enable sum up of features
Aufrichtig98 Jun 15, 2022
35447f1
Debugging
Aufrichtig98 Jun 15, 2022
f29eda8
tefReport in main to test hard coded
Aufrichtig98 Jun 15, 2022
3ae1979
addded mean and changed output file type into txt
Aufrichtig98 Jun 15, 2022
9776e44
Fixed bug
Aufrichtig98 Jun 15, 2022
6878317
Fixed Dict acesssing bug
Aufrichtig98 Jun 15, 2022
909d6fe
Changed the way the output is calculated and added more statistics
Aufrichtig98 Jun 19, 2022
d7cd211
Changed access on ID
Aufrichtig98 Jun 19, 2022
4edb02b
ID Bugfix
Aufrichtig98 Jun 19, 2022
7ec9f54
Maybe this time the bug will be gone
Aufrichtig98 Jun 19, 2022
c5bb412
added print
Aufrichtig98 Jun 19, 2022
c3bb6bc
Debbuging
Aufrichtig98 Jun 19, 2022
f44da39
Ignores Trace Events where only End ID exists
Aufrichtig98 Jun 19, 2022
c1b41a3
Fixed issue where same id can occur multiple times
Aufrichtig98 Jun 19, 2022
ad8ba47
Changed key acess
Aufrichtig98 Jun 19, 2022
4f5c394
debug flag
Aufrichtig98 Jun 19, 2022
04e8d5c
Debug
Aufrichtig98 Jun 19, 2022
7f7468f
Debug
Aufrichtig98 Jun 19, 2022
10fb6cf
Debug
Aufrichtig98 Jun 19, 2022
f9c8742
Debug
Aufrichtig98 Jun 19, 2022
6792777
Debug
Aufrichtig98 Jun 19, 2022
84930fe
Debug
Aufrichtig98 Jun 19, 2022
abbd231
Debug
Aufrichtig98 Jun 19, 2022
d0736b5
Debug
Aufrichtig98 Jun 19, 2022
f4ee235
Changed implementation due to same id can occur multiple times
Aufrichtig98 Jun 20, 2022
cd3f5d8
Removed unecessary line
Aufrichtig98 Jun 20, 2022
7d0ec13
cleaned up code
Aufrichtig98 Jun 20, 2022
6025d7b
Test
Aufrichtig98 Jun 20, 2022
6e5bce5
debug
Aufrichtig98 Jun 20, 2022
3bb1cd5
Merge remote-tracking branch 'origin/vara-dev' into Manuel_Messerig_B…
Aufrichtig98 Jun 22, 2022
e1c9841
Changed parsing that nested feature now get interpretod as a feature …
Aufrichtig98 Jun 30, 2022
fb2017e
Merge branch 'Manuel_Messerig_Bachelor_Project' of github.com:se-sic/…
Aufrichtig98 Jun 30, 2022
9f84e68
added print debug lines
Aufrichtig98 Jun 30, 2022
aad93bb
Merge branch 'Manuel_Messerig_Bachelor_Project' of github.com:se-sic/…
Aufrichtig98 Jun 30, 2022
a99087e
checks if list is empty
Aufrichtig98 Jun 30, 2022
98a91d5
Merge branch 'Manuel_Messerig_Bachelor_Project' of github.com:se-sic/…
Aufrichtig98 Jun 30, 2022
2ad465b
removed last , in string list
Aufrichtig98 Jun 30, 2022
d8c3678
Merge branch 'Manuel_Messerig_Bachelor_Project' of github.com:se-sic/…
Aufrichtig98 Jun 30, 2022
0b40b09
Fixed string name parsing bug
Aufrichtig98 Jul 1, 2022
21a7378
Merge branch 'Manuel_Messerig_Bachelor_Project' of github.com:se-sic/…
Aufrichtig98 Jul 1, 2022
542d465
Debug lines
Aufrichtig98 Jul 1, 2022
ba41ea6
Merge branch 'Manuel_Messerig_Bachelor_Project' of github.com:se-sic/…
Aufrichtig98 Jul 1, 2022
45ea78f
Update feature string
Aufrichtig98 Jul 1, 2022
3bb587e
Merge branch 'Manuel_Messerig_Bachelor_Project' of github.com:se-sic/…
Aufrichtig98 Jul 1, 2022
3ce5662
Debug lines
Aufrichtig98 Jul 1, 2022
aa66c68
Bug fix
Aufrichtig98 Jul 1, 2022
3ac5ca6
Merge branch 'Manuel_Messerig_Bachelor_Project' of github.com:se-sic/…
Aufrichtig98 Jul 1, 2022
2e9cb96
Debug
Aufrichtig98 Jul 4, 2022
131ec22
Merge branch 'Manuel_Messerig_Bachelor_Project' of github.com:se-sic/…
Aufrichtig98 Jul 4, 2022
1669d6e
Fixed bug
Aufrichtig98 Jul 4, 2022
282c371
Merge branch 'Manuel_Messerig_Bachelor_Project' of github.com:se-sic/…
Aufrichtig98 Jul 4, 2022
5423794
Debug
Aufrichtig98 Jul 4, 2022
4ec4ded
Merge branch 'Manuel_Messerig_Bachelor_Project' of github.com:se-sic/…
Aufrichtig98 Jul 4, 2022
03e3269
Removed Features that have 0 occurences
Aufrichtig98 Jul 4, 2022
8b5327d
Merge branch 'Manuel_Messerig_Bachelor_Project' of github.com:se-sic/…
Aufrichtig98 Jul 4, 2022
e3d9127
Debug
Aufrichtig98 Jul 4, 2022
0b0b842
Merge branch 'Manuel_Messerig_Bachelor_Project' of github.com:se-sic/…
Aufrichtig98 Jul 4, 2022
4282b2d
Now also tracking overall time needed for all features together
Aufrichtig98 Jul 5, 2022
7523477
Merge branch 'Manuel_Messerig_Bachelor_Project' of github.com:se-sic/…
Aufrichtig98 Jul 5, 2022
54a4e45
added - before option
Aufrichtig98 Jul 8, 2022
8d4bbfd
Merge branch 'Manuel_Messerig_Bachelor_Project' of github.com:se-sic/…
Aufrichtig98 Jul 8, 2022
f01720f
Changes for enabling repetitions in whitebox
Aufrichtig98 Sep 2, 2022
c199d14
Merge branch 'Manuel_Messerig_Bachelor_Project' of github.com:se-sic/…
Aufrichtig98 Sep 2, 2022
4e7ca46
Changes for enabling repetitions in whitebox part two
Aufrichtig98 Sep 2, 2022
3e62a2d
Merge branch 'Manuel_Messerig_Bachelor_Project' of github.com:se-sic/…
Aufrichtig98 Sep 2, 2022
19879c5
Changes for enabling repetitions in whitebox
Aufrichtig98 Sep 2, 2022
2116ada
Merge branch 'Manuel_Messerig_Bachelor_Project' of github.com:se-sic/…
Aufrichtig98 Sep 2, 2022
d5258fb
debug
Aufrichtig98 Sep 5, 2022
ceeabfe
Merge branch 'Manuel_Messerig_Bachelor_Project' of github.com:se-sic/…
Aufrichtig98 Sep 5, 2022
7957658
debug
Aufrichtig98 Sep 5, 2022
daf24f7
Merge branch 'Manuel_Messerig_Bachelor_Project' of github.com:se-sic/…
Aufrichtig98 Sep 5, 2022
318d1b5
Implemented zip folder
Aufrichtig98 Sep 5, 2022
675c413
Merge branch 'Manuel_Messerig_Bachelor_Project' of github.com:se-sic/…
Aufrichtig98 Sep 5, 2022
e345c0a
deactivated tefreport for testing
Aufrichtig98 Sep 5, 2022
7a6e776
Merge branch 'Manuel_Messerig_Bachelor_Project' of github.com:se-sic/…
Aufrichtig98 Sep 5, 2022
8a3beee
Changed the TEF Report aggregate so it outputs a json with aggergated…
Aufrichtig98 Sep 12, 2022
f2195aa
Merge branch 'Manuel_Messerig_Bachelor_Project' of github.com:se-sic/…
Aufrichtig98 Sep 12, 2022
a352478
Fixed path buf
Aufrichtig98 Sep 12, 2022
321af52
Merge branch 'Manuel_Messerig_Bachelor_Project' of github.com:se-sic/…
Aufrichtig98 Sep 12, 2022
aaf1512
Fixed intendations for TEFReport)
Aufrichtig98 Sep 12, 2022
a7fb8fe
Merge branch 'Manuel_Messerig_Bachelor_Project' of github.com:se-sic/…
Aufrichtig98 Sep 12, 2022
ebcd2a3
Debugging
Aufrichtig98 Sep 12, 2022
cf3ec1f
Merge branch 'Manuel_Messerig_Bachelor_Project' of github.com:se-sic/…
Aufrichtig98 Sep 12, 2022
7382f90
Debugging
Aufrichtig98 Sep 12, 2022
317807e
Merge branch 'Manuel_Messerig_Bachelor_Project' of github.com:se-sic/…
Aufrichtig98 Sep 12, 2022
d3a6bf2
Debug
Aufrichtig98 Sep 12, 2022
bff369e
Merge branch 'Manuel_Messerig_Bachelor_Project' of github.com:se-sic/…
Aufrichtig98 Sep 12, 2022
82cf987
Debugging
Aufrichtig98 Sep 13, 2022
83898b1
Merge branch 'Manuel_Messerig_Bachelor_Project' of github.com:se-sic/…
Aufrichtig98 Sep 13, 2022
e197a2e
Debug
Aufrichtig98 Sep 13, 2022
fde965a
Merge branch 'Manuel_Messerig_Bachelor_Project' of github.com:se-sic/…
Aufrichtig98 Sep 13, 2022
4c85061
Bugfixed Report Aggregate
Aufrichtig98 Sep 14, 2022
6c23776
Merge branch 'Manuel_Messerig_Bachelor_Project' of github.com:se-sic/…
Aufrichtig98 Sep 14, 2022
ccbd707
Bugfix in gnu time report
Aufrichtig98 Sep 14, 2022
4c85d18
Merge branch 'Manuel_Messerig_Bachelor_Project' of github.com:se-sic/…
Aufrichtig98 Sep 14, 2022
49a5205
Fixed naming path bug
Aufrichtig98 Sep 14, 2022
53862fa
Merge branch 'Manuel_Messerig_Bachelor_Project' of github.com:se-sic/…
Aufrichtig98 Sep 14, 2022
fe1bd0f
Renaming File Command added
Aufrichtig98 Sep 17, 2022
def5ef4
Merge branch 'Manuel_Messerig_Bachelor_Project' of github.com:se-sic/…
Aufrichtig98 Sep 17, 2022
e9f1790
Fixed Path buf
Aufrichtig98 Sep 17, 2022
eb60aa3
Merge branch 'Manuel_Messerig_Bachelor_Project' of github.com:se-sic/…
Aufrichtig98 Sep 17, 2022
fe9cd39
Implemented Linear Regression for Black box model
Aufrichtig98 Sep 26, 2022
c716aa8
Merge branch 'Manuel_Messerig_Bachelor_Project' of github.com:se-sic/…
Aufrichtig98 Sep 26, 2022
c86abf6
Increase repetition
Aufrichtig98 Sep 26, 2022
c9c0ac6
Merge branch 'Manuel_Messerig_Bachelor_Project' of github.com:se-sic/…
Aufrichtig98 Sep 26, 2022
c977a43
Changed Time Report aggregate
Aufrichtig98 Sep 26, 2022
af690dd
Merge branch 'Manuel_Messerig_Bachelor_Project' of github.com:se-sic/…
Aufrichtig98 Sep 26, 2022
a1841f8
Merge remote-tracking branch 'origin/f-DraftVerifierExperiment' into …
Aufrichtig98 Oct 24, 2022
f93fee3
Merged vara-dev into branch
Aufrichtig98 Oct 26, 2022
9b3d682
Merge branch 'Manuel_Messerig_Bachelor_Project' of github.com:se-sic/…
Aufrichtig98 Oct 26, 2022
703727e
Fixed merge conflicts
Aufrichtig98 Oct 26, 2022
1c42fca
Fixed merge conflicts
Aufrichtig98 Oct 26, 2022
92bf798
Merge branch 'Manuel_Messerig_Bachelor_Project' of github.com:se-sic/…
Aufrichtig98 Oct 26, 2022
40ea6a6
Merge branch 'vara-dev' of github.com:se-sic/VaRA-Tool-Suite into Man…
Aufrichtig98 Oct 27, 2022
22e3cb3
Fixed merge conflict
Aufrichtig98 Oct 27, 2022
d7d0c25
Merge branch 'Manuel_Messerig_Bachelor_Project' of github.com:se-sic/…
Aufrichtig98 Oct 27, 2022
04ba897
Fixed weird merge conflict
Aufrichtig98 Oct 28, 2022
b1f6b39
Merge branch 'Manuel_Messerig_Bachelor_Project' of github.com:se-sic/…
Aufrichtig98 Oct 28, 2022
b6088d5
Bug fixes (hopefully)
Aufrichtig98 Oct 28, 2022
0917aef
Merge branch 'Manuel_Messerig_Bachelor_Project' of github.com:se-sic/…
Aufrichtig98 Oct 28, 2022
2c9cf61
Using multiple shared regions
Aufrichtig98 Oct 31, 2022
90d6284
Merge branch 'Manuel_Messerig_Bachelor_Project' of github.com:se-sic/…
Aufrichtig98 Oct 31, 2022
2964404
Deleted one binary
Aufrichtig98 Oct 31, 2022
81a5858
Merge branch 'Manuel_Messerig_Bachelor_Project' of github.com:se-sic/…
Aufrichtig98 Oct 31, 2022
dafad0d
Bugfix
Aufrichtig98 Oct 31, 2022
3018378
Merge branch 'Manuel_Messerig_Bachelor_Project' of github.com:se-sic/…
Aufrichtig98 Oct 31, 2022
11fa0ec
added commands into the pm_cmd
Aufrichtig98 Oct 31, 2022
8c956a2
Merge branch 'Manuel_Messerig_Bachelor_Project' of github.com:se-sic/…
Aufrichtig98 Oct 31, 2022
8f52d7e
bugfix
Aufrichtig98 Oct 31, 2022
38386b0
Merge branch 'Manuel_Messerig_Bachelor_Project' of github.com:se-sic/…
Aufrichtig98 Oct 31, 2022
46d433e
Bug Fix
Aufrichtig98 Nov 1, 2022
191aff2
Merge branch 'Manuel_Messerig_Bachelor_Project' of github.com:se-sic/…
Aufrichtig98 Nov 1, 2022
614297d
merged vara dev into branch
Aufrichtig98 Nov 9, 2022
dab87d8
Merge branch 'Manuel_Messerig_Bachelor_Project' of github.com:se-sic/…
Aufrichtig98 Nov 9, 2022
88cd017
Merge branch 'vara-dev' of github.com:se-sic/VaRA-Tool-Suite into Man…
Aufrichtig98 Nov 10, 2022
f7bbc68
Merge branch 'Manuel_Messerig_Bachelor_Project' of github.com:se-sic/…
Aufrichtig98 Nov 10, 2022
4ba3068
Feature permutations experiment
Aufrichtig98 Nov 10, 2022
4fe714a
Merge branch 'Manuel_Messerig_Bachelor_Project' of github.com:se-sic/…
Aufrichtig98 Nov 10, 2022
2d34b1a
Fixed acess to function
Aufrichtig98 Nov 10, 2022
ff2c4d8
Merge branch 'Manuel_Messerig_Bachelor_Project' of github.com:se-sic/…
Aufrichtig98 Nov 10, 2022
1f4bab5
Fixed bug in feature permutation
Aufrichtig98 Nov 10, 2022
860d500
Merge branch 'Manuel_Messerig_Bachelor_Project' of github.com:se-sic/…
Aufrichtig98 Nov 10, 2022
9feeeef
Renamed files to allow mutiple files as output instead of overwriting…
Aufrichtig98 Nov 10, 2022
6ce585f
Merge branch 'Manuel_Messerig_Bachelor_Project' of github.com:se-sic/…
Aufrichtig98 Nov 10, 2022
158c769
Import mv correctly
Aufrichtig98 Nov 10, 2022
6c7efd9
Merge branch 'Manuel_Messerig_Bachelor_Project' of github.com:se-sic/…
Aufrichtig98 Nov 10, 2022
bee5e45
fixed file naming
Aufrichtig98 Nov 10, 2022
55a9bb0
Merge branch 'Manuel_Messerig_Bachelor_Project' of github.com:se-sic/…
Aufrichtig98 Nov 10, 2022
4cebb43
Added Blackbox meassuering
Aufrichtig98 Nov 10, 2022
42bea9b
Merge branch 'Manuel_Messerig_Bachelor_Project' of github.com:se-sic/…
Aufrichtig98 Nov 10, 2022
5954918
bugfix
Aufrichtig98 Nov 10, 2022
57c955f
Merge branch 'Manuel_Messerig_Bachelor_Project' of github.com:se-sic/…
Aufrichtig98 Nov 10, 2022
dbf0eac
bugfix
Aufrichtig98 Nov 10, 2022
357babb
Merge branch 'Manuel_Messerig_Bachelor_Project' of github.com:se-sic/…
Aufrichtig98 Nov 10, 2022
d1e316e
Added experiment for feature perf blackbox
Aufrichtig98 Nov 11, 2022
b8eab96
Merge branch 'Manuel_Messerig_Bachelor_Project' of github.com:se-sic/…
Aufrichtig98 Nov 11, 2022
fa96b39
Changed TEFReport to Time Report
Aufrichtig98 Nov 11, 2022
b68c9ff
Merge branch 'Manuel_Messerig_Bachelor_Project' of github.com:se-sic/…
Aufrichtig98 Nov 11, 2022
1361048
Doing some testing
Aufrichtig98 Nov 11, 2022
854f04e
Merge branch 'Manuel_Messerig_Bachelor_Project' of github.com:se-sic/…
Aufrichtig98 Nov 11, 2022
efb2705
tests
Aufrichtig98 Nov 11, 2022
dbcb008
Merge branch 'Manuel_Messerig_Bachelor_Project' of github.com:se-sic/…
Aufrichtig98 Nov 11, 2022
c569b35
testing
Aufrichtig98 Nov 11, 2022
f55e61a
Merge branch 'Manuel_Messerig_Bachelor_Project' of github.com:se-sic/…
Aufrichtig98 Nov 11, 2022
ef1a848
Testing
Aufrichtig98 Nov 11, 2022
9444879
Merge branch 'Manuel_Messerig_Bachelor_Project' of github.com:se-sic/…
Aufrichtig98 Nov 11, 2022
8486262
changed time cmd
Aufrichtig98 Nov 11, 2022
940dd98
Merge branch 'Manuel_Messerig_Bachelor_Project' of github.com:se-sic/…
Aufrichtig98 Nov 11, 2022
9ce65ba
Time command
Aufrichtig98 Nov 11, 2022
2f6bbf8
Merge branch 'Manuel_Messerig_Bachelor_Project' of github.com:se-sic/…
Aufrichtig98 Nov 11, 2022
5a39b27
Added plumbum fix
Aufrichtig98 Nov 15, 2022
c7cff4e
Merge branch 'Manuel_Messerig_Bachelor_Project' of github.com:se-sic/…
Aufrichtig98 Nov 15, 2022
35f9a41
Changes feature_perf_cs_collection refspec onto my branch
Aufrichtig98 Nov 29, 2022
a28f0f6
Merge branch 'Manuel_Messerig_Bachelor_Project' of github.com:se-sic/…
Aufrichtig98 Nov 29, 2022
a9393d8
Excluded binary for featurecallingfeature since missing revision
Aufrichtig98 Nov 29, 2022
88d14fa
rge branch 'Manuel_Messerig_Bachelor_Project' of github.com:se-sic/Va…
Aufrichtig98 Nov 29, 2022
9769968
Added revision to binary
Aufrichtig98 Nov 30, 2022
92317eb
Merge branch 'Manuel_Messerig_Bachelor_Project' of github.com:se-sic/…
Aufrichtig98 Nov 30, 2022
0356a80
Removed revision range
Aufrichtig98 Nov 30, 2022
0e3bd03
Merge branch 'Manuel_Messerig_Bachelor_Project' of github.com:se-sic/…
Aufrichtig98 Nov 30, 2022
44e3a7e
Added project / experiment changes
Aufrichtig98 Dec 7, 2022
61fab48
Added Command for Collinear
Aufrichtig98 Dec 7, 2022
7824086
Added cflags to remove compiler optimization
Aufrichtig98 Jan 11, 2023
a3facaf
Current state
Aufrichtig98 Feb 1, 2023
b4eb4db
fixed blackbox, adjusted feature perf project for other experiment
Aufrichtig98 Feb 6, 2023
4329718
merged master into branch
Aufrichtig98 Feb 7, 2023
d20d6e1
Fixed blackbox, change featureperfcollection project
Aufrichtig98 Feb 7, 2023
b83c2b5
Fixed bb, debugging white box
Aufrichtig98 Feb 8, 2023
3ce6c22
Branchh post merge
Aufrichtig98 Feb 15, 2023
b9a4719
Merge branch 'vara-dev' into Manuel_Messerig_Bachelor_Project
vulder Feb 15, 2023
7b68353
Fixed merge conflicts in tefreport (Not corrected my implementation yet)
Aufrichtig98 Feb 15, 2023
5d0ed33
Commented my code out in tef rep
Aufrichtig98 Feb 15, 2023
81febea
Resolved merge
Aufrichtig98 Feb 15, 2023
6fbcdc8
resolved merge conflicts
Aufrichtig98 Feb 15, 2023
d296437
Integraating whitebox experiment in perfrunner unfinished
Aufrichtig98 Feb 15, 2023
d9da12c
Fixed my code in tef report
Aufrichtig98 Feb 20, 2023
40d53ca
Start fixing annotations
Aufrichtig98 Feb 20, 2023
4104a05
Addinding Type hints
Aufrichtig98 Feb 20, 2023
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -18,3 +18,5 @@ build/
.tox/
docs/source/.varats.yaml
docs/**/*.inc
varats-core/varats/tefReportTestLocal
varats-core/varats/LinearRegressionTestLocal
2 changes: 1 addition & 1 deletion varats-core/varats/experiment/workload_util.py
Original file line number Diff line number Diff line change
Expand Up @@ -91,7 +91,7 @@ def workload_commands(
filter_workload_index(run_only, unwrap(project.workloads, project))
)
]

return list(
filter(lambda prj_cmd: prj_cmd.path.name == binary.name, project_cmds)
)
Expand Down
4 changes: 2 additions & 2 deletions varats-core/varats/provider/feature/feature_model_provider.py
Original file line number Diff line number Diff line change
Expand Up @@ -87,9 +87,9 @@ def _get_feature_model_repository_path() -> Path:
fm_source = bb.source.Git(
remote=FeatureModelProvider.fm_repository,
local="ConfigurableSystems",
refspec="origin/HEAD",
refspec="origin/ba-messerig",
limit=1,
)
fm_source.fetch()
#fm_source.fetch() DISABLED BECAUSE DESTROYS LOCAL

return Path(Path(target_prefix()) / fm_source.local)
20 changes: 6 additions & 14 deletions varats-core/varats/report/gnu_time_report.py
Original file line number Diff line number Diff line change
Expand Up @@ -255,6 +255,7 @@ class TimeReportAggregate(

def __init__(self, path: Path) -> None:
super().__init__(path, TimeReport)

self._measurements_wall_clock_time = [
report.wall_clock_time.total_seconds() for report in self.reports()
]
Expand All @@ -273,21 +274,12 @@ def measurements_ctx_switches(self) -> tp.List[int]:
"""Context switches measurements of all aggregated reports."""
return self._measurements_ctx_switches

@property
def max_resident_sizes(self) -> tp.List[int]:
return [report.max_res_size for report in self.reports()]

@property
def summary(self) -> str:
return (
f"num_reports = {len(self.reports())}\n"
"mean (std) of wall clock time = "
f"{np.mean(self.measurements_wall_clock_time):.2f}"
f" ({np.std(self.measurements_wall_clock_time):.2f})\n"
"mean (std) of context switches = "
f"{np.mean(self.measurements_ctx_switches):.2f}"
f" ({np.std(self.measurements_ctx_switches):.2f})\n"
)
return f"num_reports = {len(self.reports())}\n" \
f"mean(wall_clock_time) = {np.mean(self.measurements_wall_clock_time)}\n" \
f"std(wall_clock_time) = {np.var(self.measurements_wall_clock_time)}\n" \
f"variance(wall_clock_time) = {np.std(self.measurements_wall_clock_time)} \n"


class WLTimeReportAggregate(
Expand Down Expand Up @@ -323,4 +315,4 @@ def summary(self) -> str:
return (
f"num_reports = {len(self.reports())}\n"
f"num_workloads = {len(self.workload_names())}\n"
)
)
165 changes: 154 additions & 11 deletions varats-core/varats/report/tef_report.py
Original file line number Diff line number Diff line change
@@ -1,13 +1,17 @@
"""Report module to create and handle trace event format files, e.g., created
with chrome tracing."""

import json

import re
import typing as tp
from enum import Enum
from pathlib import Path
import numpy as np

import ijson


from varats.experiment.workload_util import WorkloadSpecificReportAggregate
from varats.report.report import BaseReport, ReportAggregate

Expand Down Expand Up @@ -49,6 +53,12 @@ class TraceEvent():
"""Represents a trace event that was captured during the analysis of a
target program."""

# def __init__(self, json_trace_event: tp.Dict[str, tp.Any]) -> None:
# self.__name = str(json_trace_event["name"])
# self.__name = self.__name.replace("FR(", "")
# if self.__name[-1] == ")":
# self.__name = self.__name[:-1]

def __init__(
self, json_trace_event: tp.Dict[str, tp.Any], name_id: int,
name_id_mapper: 'TEFReport.NameIDMapper'
Expand All @@ -62,6 +72,7 @@ def __init__(
self.__tracing_clock_timestamp = int(json_trace_event["ts"])
self.__pid = int(json_trace_event["pid"])
self.__tid = int(json_trace_event["tid"])
self.__args_id = int(json_trace_event["ID"])

@property
def name(self) -> str:
Expand All @@ -87,6 +98,10 @@ def pid(self) -> int:
def tid(self) -> int:
return self.__tid

@property
def args_id(self) -> int:
return self.__args_id

def __str__(self) -> str:
return f"""{{
name: {self.name}
Expand All @@ -95,6 +110,7 @@ def __str__(self) -> str:
ts: {self.timestamp}
pid: {self.pid}
tid: {self.tid}
args: {self.args_id}
}}
"""

Expand All @@ -111,6 +127,14 @@ class NameIDMapper(tp.List[str]):
def infer_name(self, name_id: int) -> str:
return self[name_id]

# if "displayTimeUnit" in data:
# self.__display_time_unit = str(data["displayTimeUnit"])
# if "traceEvents" in data:
# self.__trace_events = self._parse_trace_events(data["traceEvents"])

# Parsing stackFrames is currently not implemented
# x = data["stackFrames"]
# print("Visiting the TEFReport")
def __init__(self, path: Path) -> None:
super().__init__(path)
self.__name_id_mapper: TEFReport.NameIDMapper = TEFReport.NameIDMapper()
Expand Down Expand Up @@ -146,13 +170,19 @@ def _parse_json(self) -> None:
trace_event = {}
if prefix == "traceEvents.item" and event == "end_map":
if trace_event is not None:

name = trace_event["name"]
name = name.replace("FR(", "")
if name[-1] == ")":
name = name[:-1]

if trace_event["name"] in self.__name_id_mapper:
name_id = self.__name_id_mapper.index(
trace_event["name"]
)
else:
self.__name_id_mapper.append(
trace_event["name"]
name
)
name_id = len(self.__name_id_mapper) - 1
trace_events.append(
Expand All @@ -168,18 +198,131 @@ def _parse_json(self) -> None:
self.__timestamp_unit: str = str(value)
self.__trace_events: tp.List[TraceEvent] = trace_events

# Gets the current_feature list and return a string of all features concatenated
# Contains no duplicate and alphabetical sorted
@staticmethod
def features_to_string(current_feature:tp.List[str]) -> str:
tmp_list = current_feature
alphabet_list = list()
tmp_set = set()
result = ""
for feature_list in tmp_list:
for feature in feature_list:
tmp_set.add(feature)
for feature in tmp_set:
alphabet_list.append(feature)
alphabet_list.sort()
for feature in alphabet_list:
result += feature + ","
result = result[:-1]
return result

def feature_time_accumulator(self, path:Path) -> None:
# feature_dict contains a list of all measurements for each feature
feature_dict:tp.Dict[list[str],list[float]] = dict()
# id_dict maps id to current occurrences of that id
id_dict:tp.Dict[int, int] = dict()
# current_active_feature is a list of lists, containing lists of features for a active process
current_active_feature:tp.List[str] = list()
for trace_event in self.trace_events:
if feature_dict.get(trace_event.name) is None:
feature_dict.setdefault(trace_event.name, list())
if trace_event.event_type == TraceEventType.DURATION_EVENT_BEGIN:
if id_dict.get(trace_event.args_id) is None:
id_dict.setdefault(trace_event.args_id, 0)
id_dict[trace_event.args_id] = id_dict[trace_event.args_id] + 1
current_feature = trace_event.name.split(",")
if current_feature in current_active_feature:
continue
# When adding a new feature to the current list we end the previous running feature
feature_string = self.features_to_string(current_active_feature)
if len(current_active_feature) != 0:
feature_dict[feature_string][-1] \
= abs(trace_event.timestamp - feature_dict[feature_string][-1])

current_active_feature.append(current_feature)
feature_string = self.features_to_string(current_active_feature)

if feature_dict.get(feature_string) is None:
feature_dict.setdefault(feature_string, list())
feature_dict[feature_string].append(trace_event.timestamp)

elif trace_event.event_type == TraceEventType.DURATION_EVENT_END:
current_feature = trace_event.name.split(",")
feature_string = self.features_to_string(current_active_feature)

# Trace Event with same Arg ID found, update time in
# time_dict from beginning to total time taken for that event
if id_dict.get(trace_event.args_id) is None:
print(str(trace_event.args_id) + " \n")
continue
# If an Event ended more often then it started its invalid
elif id_dict[trace_event.args_id] > 0:
id_dict[trace_event.args_id] = id_dict[trace_event.args_id] - 1
else:
continue

# List[-1] returns last element of the list
feature_dict[feature_string][-1] = abs(trace_event.timestamp - feature_dict[feature_string][-1])

if current_feature in current_active_feature:
current_active_feature.remove(current_feature)
# ToDo Raise exception feature not in current feature list but is suppose to end

if len(current_active_feature) > 0:
feature_dict[self.features_to_string(current_active_feature)].append(trace_event.timestamp)
# ToDo raise error for unexpcted event type

with open(path , "w", encoding="utf-8") as file:
result_dict = dict()
overall_time = 0

for name in feature_dict.keys():
if len(feature_dict[name]) == 0:
continue
tmp_dict = dict()
tmp_dict["Occurrences"] = len(feature_dict[name])
tmp_dict["Overall Time"] = (np.sum(feature_dict[name])) / 1000
tmp_dict["Mean"] = (np.mean(feature_dict[name])) / 1000
tmp_dict["Variance"] = (np.var(feature_dict[name])) / 1000
tmp_dict["Standard Deviation"] = (np.std(feature_dict[name])) / 1000
result_dict[name] = tmp_dict
overall_time += (np.sum(feature_dict[name])) / 1000

tmp_time_dict = dict()
tmp_time_dict["Time Taken"] = overall_time
result_dict["Overall time for all features"] = tmp_time_dict
#header_dict = dict()
#header_dict["Results parsed"] = result_dict
json.dump(result_dict, file)

class TEFReportAggregate(
ReportAggregate[TEFReport],
shorthand=TEFReport.SHORTHAND + ReportAggregate.SHORTHAND,
file_type=ReportAggregate.FILE_TYPE
):
"""Context Manager for parsing multiple TEF reports stored inside a zip
file."""

def __init__(self, path: Path) -> None:
super().__init__(path, TEFReport)

@staticmethod
def wall_clock_times(path:Path) -> None:
result_dict = dict()
number_of_repetitions = 0
for report in path.iterdir():
with open(report) as f:
number_of_repetitions += 1
data = json.load(f)
for feature in data:
if feature not in result_dict:
result_dict[feature] = dict()
for elements in data[feature]:
if data[feature][elements] not in result_dict[feature]:
result_dict[feature][elements] = list()
result_dict[feature][elements].append(data[feature][elements])

tmp_dict = dict()
tmp_dict["Repetitions"] = number_of_repetitions
for feature in result_dict:
for elements in result_dict[feature]:
result_dict[feature][elements] = np.sum(result_dict[feature][elements]) / len(result_dict[feature][elements])
result_dict["Number of Repetitions"] = tmp_dict


with open(path / "result_aggregate.json" , "w", encoding="utf-8") as json_result_file:
json.dump(result_dict, json_result_file)

__WORKLOAD_FILE_REGEX = re.compile(r"trace\_(?P<label>.+)$")

Expand Down
11 changes: 11 additions & 0 deletions varats-core/varats/tefReportTestLocal/main.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
from varats.report.tef_report import TEFReport
from varats.report.tef_report import TEFReportAggregate
from varats.report.gnu_time_report import TimeReport, TimeReportAggregate
import json
import typing as tp
from enum import Enum
from pathlib import Path

# Press the green button in the gutter to run the script.
blackbox_test = TimeReportAggregate(Path("/home/aufrichtig/bachelor") / Path("XZCompressionLevel0.zip"))
print(blackbox_test.summary)
Loading