azure / cvm-attestation-tools
File Change Frequency

File change frequency (churn) shows the distribution of file updates (days with at least one commit).

Overview
File Change Frequency Overall
  • There are 23 files with 1,997 lines of code.
    • 0 files changed more than 100 times (0 lines of code)
    • 0 files changed 51-100 times (0 lines of code)
    • 0 files changed 21-50 times (0 lines of code)
    • 4 files changed 6-20 times (643 lines of code)
    • 19 files changed 1-5 times (1,354 lines of code)
0% | 0% | 0% | 32% | 67%
Legend:
101+
51-100
21-50
6-20
1-5

explore: grouped by folders | grouped by update frequency | data
Contributors Count Frequency Overall
  • There are 23 files with 1,997 lines of code.
    • 0 files changed by more than 25 contributors (0 lines of code)
    • 0 files changed by 11-25 contributors (0 lines of code)
    • 0 files changed by 6-10 contributors (0 lines of code)
    • 9 files changed by 2-5 contributors (883 lines of code)
    • 14 files changed by 1 contributor (1,114 lines of code)
0% | 0% | 0% | 44% | 55%
Legend:
26+
11-25
6-10
2-5
1

explore: grouped by folders | grouped by contributors count | data
File Change Frequency per File Extension
py, md, json, ps1, yaml, gitignore, txt, sh, toml
File Change Frequency per Extension
The number of recorded file updates
101+
51-100
21-50
6-20
1-5
py0% | 0% | 0% | 34% | 65%
ps10% | 0% | 0% | 0% | 100%
toml0% | 0% | 0% | 0% | 100%
File Change Frequency per Logical Decomposition
primary
primary (file change frequency)
The number of recorded file updates
101+
51-100
21-50
6-20
1-5
cvm-attestation0% | 0% | 0% | 32% | 67%
Most Frequently Changed Files (Top 23)

See data for all files...

File# lines# unitscreatedlast modified# changes
(days)
# contributorsfirst
contributor
latest
contributor
AttestationProvider.py
in cvm-attestation/src
271 18 2024-04-30 2025-04-17 8 2 59932014+jvega10@users.nore... 59932014+jvega10@users.nore...
attest.py
in cvm-attestation
94 3 2023-11-29 2025-04-21 7 3 jave@microsoft.com 59932014+jvega10@users.nore...
AttestationClient.py
in cvm-attestation
262 9 2024-04-30 2025-04-30 7 1 59932014+jvega10@users.nore... 59932014+jvega10@users.nore...
setup.py
in cvm-attestation
16 - 2023-11-29 2025-04-23 6 4 jave@microsoft.com 88455600+ilham0713@users.no...
read_report.py
in cvm-attestation
59 2 2025-01-22 2025-04-29 4 2 59932014+jvega10@users.nore... 59932014+jvega10@users.nore...
ImdsClient.py
in cvm-attestation/src
105 5 2024-04-30 2025-04-21 4 3 59932014+jvega10@users.nore... 59932014+jvega10@users.nore...
tpm_wrapper.py
in cvm-attestation
226 14 2023-11-29 2024-04-30 4 3 jave@microsoft.com 59932014+jvega10@users.nore...
install.ps1
in cvm-attestation
45 - 2023-11-29 2025-04-29 3 3 jave@microsoft.com 59932014+jvega10@users.nore...
Isolation.py
in cvm-attestation/src
61 11 2024-04-30 2025-04-21 3 1 59932014+jvega10@users.nore... 59932014+jvega10@users.nore...
snp.py
in cvm-attestation
347 18 2025-01-22 2025-02-05 3 1 59932014+jvega10@users.nore... 59932014+jvega10@users.nore...
__init__.py
in cvm-attestation/src
1 - 2023-11-29 2023-12-13 2 2 jave@microsoft.com 62276035+jianlia@users.nore...
Encoder.py
in cvm-attestation/src
30 6 2024-04-30 2025-04-11 2 1 59932014+jvega10@users.nore... 59932014+jvega10@users.nore...
AttestationTypes.py
in cvm-attestation
50 6 2024-04-30 2025-02-10 2 1 59932014+jvega10@users.nore... 59932014+jvega10@users.nore...
run_attestation.ps1
in cvm-attestation/scripts
66 - 2023-12-14 2023-12-15 2 2 lizzha@microsoft.com lizzha@microsoft.com
pyproject.toml
in cvm-attestation
2 - 2025-05-02 2025-05-02 1 1 59932014+jvega10@users.nore... 59932014+jvega10@users.nore...
generate_endpoints.ps1
in cvm-attestation
11 - 2025-04-29 2025-04-29 1 1 59932014+jvega10@users.nore... 59932014+jvega10@users.nore...
Logger.py
in cvm-attestation/src
18 2 2024-04-30 2024-04-30 1 1 59932014+jvega10@users.nore... 59932014+jvega10@users.nore...
measurements.py
in cvm-attestation/src
25 1 2024-04-30 2024-04-30 1 1 59932014+jvega10@users.nore... 59932014+jvega10@users.nore...
ReportParser.py
in cvm-attestation/src
48 3 2024-04-30 2024-04-30 1 1 59932014+jvega10@users.nore... 59932014+jvega10@users.nore...
EndpointSelector.py
in cvm-attestation/src
54 4 2025-04-21 2025-04-21 1 1 59932014+jvega10@users.nore... 59932014+jvega10@users.nore...
OsInfo.py
in cvm-attestation/src
58 6 2024-04-30 2024-04-30 1 1 59932014+jvega10@users.nore... 59932014+jvega10@users.nore...
deserialize_tdx_v5.py
in cvm-attestation
74 2 2025-04-23 2025-04-23 1 1 88455600+ilham0713@users.no... 88455600+ilham0713@users.no...
deserialize_tdx_v4.py
in cvm-attestation
74 2 2025-04-23 2025-04-23 1 1 88455600+ilham0713@users.no... 88455600+ilham0713@users.no...
Files With Most Contributors (Top 23)
Based on the number of unique email addresses found in commits.

See data for all files...

File# lines# unitscreatedlast modified# changes
(days)
# contributorsfirst
contributor
latest
contributor
setup.py
in cvm-attestation
16 - 2023-11-29 2025-04-23 6 4 jave@microsoft.com 88455600+ilham0713@users.no...
attest.py
in cvm-attestation
94 3 2023-11-29 2025-04-21 7 3 jave@microsoft.com 59932014+jvega10@users.nore...
ImdsClient.py
in cvm-attestation/src
105 5 2024-04-30 2025-04-21 4 3 59932014+jvega10@users.nore... 59932014+jvega10@users.nore...
tpm_wrapper.py
in cvm-attestation
226 14 2023-11-29 2024-04-30 4 3 jave@microsoft.com 59932014+jvega10@users.nore...
install.ps1
in cvm-attestation
45 - 2023-11-29 2025-04-29 3 3 jave@microsoft.com 59932014+jvega10@users.nore...
AttestationProvider.py
in cvm-attestation/src
271 18 2024-04-30 2025-04-17 8 2 59932014+jvega10@users.nore... 59932014+jvega10@users.nore...
read_report.py
in cvm-attestation
59 2 2025-01-22 2025-04-29 4 2 59932014+jvega10@users.nore... 59932014+jvega10@users.nore...
run_attestation.ps1
in cvm-attestation/scripts
66 - 2023-12-14 2023-12-15 2 2 lizzha@microsoft.com lizzha@microsoft.com
__init__.py
in cvm-attestation/src
1 - 2023-11-29 2023-12-13 2 2 jave@microsoft.com 62276035+jianlia@users.nore...
AttestationClient.py
in cvm-attestation
262 9 2024-04-30 2025-04-30 7 1 59932014+jvega10@users.nore... 59932014+jvega10@users.nore...
snp.py
in cvm-attestation
347 18 2025-01-22 2025-02-05 3 1 59932014+jvega10@users.nore... 59932014+jvega10@users.nore...
Isolation.py
in cvm-attestation/src
61 11 2024-04-30 2025-04-21 3 1 59932014+jvega10@users.nore... 59932014+jvega10@users.nore...
Encoder.py
in cvm-attestation/src
30 6 2024-04-30 2025-04-11 2 1 59932014+jvega10@users.nore... 59932014+jvega10@users.nore...
AttestationTypes.py
in cvm-attestation
50 6 2024-04-30 2025-02-10 2 1 59932014+jvega10@users.nore... 59932014+jvega10@users.nore...
Logger.py
in cvm-attestation/src
18 2 2024-04-30 2024-04-30 1 1 59932014+jvega10@users.nore... 59932014+jvega10@users.nore...
EndpointSelector.py
in cvm-attestation/src
54 4 2025-04-21 2025-04-21 1 1 59932014+jvega10@users.nore... 59932014+jvega10@users.nore...
ReportParser.py
in cvm-attestation/src
48 3 2024-04-30 2024-04-30 1 1 59932014+jvega10@users.nore... 59932014+jvega10@users.nore...
OsInfo.py
in cvm-attestation/src
58 6 2024-04-30 2024-04-30 1 1 59932014+jvega10@users.nore... 59932014+jvega10@users.nore...
measurements.py
in cvm-attestation/src
25 1 2024-04-30 2024-04-30 1 1 59932014+jvega10@users.nore... 59932014+jvega10@users.nore...
generate_endpoints.ps1
in cvm-attestation
11 - 2025-04-29 2025-04-29 1 1 59932014+jvega10@users.nore... 59932014+jvega10@users.nore...
pyproject.toml
in cvm-attestation
2 - 2025-05-02 2025-05-02 1 1 59932014+jvega10@users.nore... 59932014+jvega10@users.nore...
deserialize_tdx_v4.py
in cvm-attestation
74 2 2025-04-23 2025-04-23 1 1 88455600+ilham0713@users.no... 88455600+ilham0713@users.no...
deserialize_tdx_v5.py
in cvm-attestation
74 2 2025-04-23 2025-04-23 1 1 88455600+ilham0713@users.no... 88455600+ilham0713@users.no...
Files With Least Contributors (Top 23)
Based on the number of unique email addresses found in commits.

See data for all files...

File# lines# unitscreatedlast modified# changes
(days)
# contributorsfirst
contributor
latest
contributor
snp.py
in cvm-attestation
347 18 2025-01-22 2025-02-05 3 1 59932014+jvega10@users.nore... 59932014+jvega10@users.nore...
AttestationClient.py
in cvm-attestation
262 9 2024-04-30 2025-04-30 7 1 59932014+jvega10@users.nore... 59932014+jvega10@users.nore...
deserialize_tdx_v4.py
in cvm-attestation
74 2 2025-04-23 2025-04-23 1 1 88455600+ilham0713@users.no... 88455600+ilham0713@users.no...
deserialize_tdx_v5.py
in cvm-attestation
74 2 2025-04-23 2025-04-23 1 1 88455600+ilham0713@users.no... 88455600+ilham0713@users.no...
Isolation.py
in cvm-attestation/src
61 11 2024-04-30 2025-04-21 3 1 59932014+jvega10@users.nore... 59932014+jvega10@users.nore...
OsInfo.py
in cvm-attestation/src
58 6 2024-04-30 2024-04-30 1 1 59932014+jvega10@users.nore... 59932014+jvega10@users.nore...
EndpointSelector.py
in cvm-attestation/src
54 4 2025-04-21 2025-04-21 1 1 59932014+jvega10@users.nore... 59932014+jvega10@users.nore...
AttestationTypes.py
in cvm-attestation
50 6 2024-04-30 2025-02-10 2 1 59932014+jvega10@users.nore... 59932014+jvega10@users.nore...
ReportParser.py
in cvm-attestation/src
48 3 2024-04-30 2024-04-30 1 1 59932014+jvega10@users.nore... 59932014+jvega10@users.nore...
Encoder.py
in cvm-attestation/src
30 6 2024-04-30 2025-04-11 2 1 59932014+jvega10@users.nore... 59932014+jvega10@users.nore...
measurements.py
in cvm-attestation/src
25 1 2024-04-30 2024-04-30 1 1 59932014+jvega10@users.nore... 59932014+jvega10@users.nore...
Logger.py
in cvm-attestation/src
18 2 2024-04-30 2024-04-30 1 1 59932014+jvega10@users.nore... 59932014+jvega10@users.nore...
generate_endpoints.ps1
in cvm-attestation
11 - 2025-04-29 2025-04-29 1 1 59932014+jvega10@users.nore... 59932014+jvega10@users.nore...
pyproject.toml
in cvm-attestation
2 - 2025-05-02 2025-05-02 1 1 59932014+jvega10@users.nore... 59932014+jvega10@users.nore...
AttestationProvider.py
in cvm-attestation/src
271 18 2024-04-30 2025-04-17 8 2 59932014+jvega10@users.nore... 59932014+jvega10@users.nore...
run_attestation.ps1
in cvm-attestation/scripts
66 - 2023-12-14 2023-12-15 2 2 lizzha@microsoft.com lizzha@microsoft.com
read_report.py
in cvm-attestation
59 2 2025-01-22 2025-04-29 4 2 59932014+jvega10@users.nore... 59932014+jvega10@users.nore...
__init__.py
in cvm-attestation/src
1 - 2023-11-29 2023-12-13 2 2 jave@microsoft.com 62276035+jianlia@users.nore...
tpm_wrapper.py
in cvm-attestation
226 14 2023-11-29 2024-04-30 4 3 jave@microsoft.com 59932014+jvega10@users.nore...
ImdsClient.py
in cvm-attestation/src
105 5 2024-04-30 2025-04-21 4 3 59932014+jvega10@users.nore... 59932014+jvega10@users.nore...
attest.py
in cvm-attestation
94 3 2023-11-29 2025-04-21 7 3 jave@microsoft.com 59932014+jvega10@users.nore...
install.ps1
in cvm-attestation
45 - 2023-11-29 2025-04-29 3 3 jave@microsoft.com 59932014+jvega10@users.nore...
setup.py
in cvm-attestation
16 - 2023-11-29 2025-04-23 6 4 jave@microsoft.com 88455600+ilham0713@users.no...
Correlations

File Size vs. Number of Changes: 23 points

cvm-attestation/pyproject.toml x: 2 lines of code y: 1 # changes cvm-attestation/AttestationClient.py x: 262 lines of code y: 7 # changes cvm-attestation/install.ps1 x: 45 lines of code y: 3 # changes cvm-attestation/read_report.py x: 59 lines of code y: 4 # changes cvm-attestation/generate_endpoints.ps1 x: 11 lines of code y: 1 # changes cvm-attestation/deserialize_tdx_v4.py x: 74 lines of code y: 1 # changes cvm-attestation/setup.py x: 16 lines of code y: 6 # changes cvm-attestation/attest.py x: 94 lines of code y: 7 # changes cvm-attestation/src/EndpointSelector.py x: 54 lines of code y: 1 # changes cvm-attestation/src/ImdsClient.py x: 105 lines of code y: 4 # changes cvm-attestation/src/Isolation.py x: 61 lines of code y: 3 # changes cvm-attestation/src/AttestationProvider.py x: 271 lines of code y: 8 # changes cvm-attestation/src/Encoder.py x: 30 lines of code y: 2 # changes cvm-attestation/AttestationTypes.py x: 50 lines of code y: 2 # changes cvm-attestation/snp.py x: 347 lines of code y: 3 # changes cvm-attestation/src/Logger.py x: 18 lines of code y: 1 # changes cvm-attestation/src/OsInfo.py x: 58 lines of code y: 1 # changes cvm-attestation/src/ReportParser.py x: 48 lines of code y: 1 # changes cvm-attestation/src/measurements.py x: 25 lines of code y: 1 # changes cvm-attestation/tpm_wrapper.py x: 226 lines of code y: 4 # changes cvm-attestation/scripts/run_attestation.ps1 x: 66 lines of code y: 2 # changes cvm-attestation/src/__init__.py x: 1 lines of code y: 2 # changes
8.0
# changes
  min: 1.0
  average: 2.87
  25th percentile: 1.0
  median: 2.0
  75th percentile: 4.0
  max: 8.0
0 347.0
lines of code
min: 1.0 | average: 86.83 | 25th percentile: 25.0 | median: 58.0 | 75th percentile: 94.0 | max: 347.0

Number of Contributors vs. Number of Changes: 23 points

cvm-attestation/pyproject.toml x: 1 # contributors y: 1 # changes cvm-attestation/AttestationClient.py x: 1 # contributors y: 7 # changes cvm-attestation/install.ps1 x: 3 # contributors y: 3 # changes cvm-attestation/read_report.py x: 2 # contributors y: 4 # changes cvm-attestation/setup.py x: 4 # contributors y: 6 # changes cvm-attestation/attest.py x: 3 # contributors y: 7 # changes cvm-attestation/src/ImdsClient.py x: 3 # contributors y: 4 # changes cvm-attestation/src/Isolation.py x: 1 # contributors y: 3 # changes cvm-attestation/src/AttestationProvider.py x: 2 # contributors y: 8 # changes cvm-attestation/src/Encoder.py x: 1 # contributors y: 2 # changes cvm-attestation/scripts/run_attestation.ps1 x: 2 # contributors y: 2 # changes
8.0
# changes
  min: 1.0
  average: 2.87
  25th percentile: 1.0
  median: 2.0
  75th percentile: 4.0
  max: 8.0
0 4.0
# contributors
min: 1.0 | average: 1.65 | 25th percentile: 1.0 | median: 1.0 | 75th percentile: 2.0 | max: 4.0

Number of Contributors vs. File Size: 23 points

cvm-attestation/pyproject.toml x: 1 # contributors y: 2 lines of code cvm-attestation/AttestationClient.py x: 1 # contributors y: 262 lines of code cvm-attestation/install.ps1 x: 3 # contributors y: 45 lines of code cvm-attestation/read_report.py x: 2 # contributors y: 59 lines of code cvm-attestation/generate_endpoints.ps1 x: 1 # contributors y: 11 lines of code cvm-attestation/deserialize_tdx_v4.py x: 1 # contributors y: 74 lines of code cvm-attestation/setup.py x: 4 # contributors y: 16 lines of code cvm-attestation/attest.py x: 3 # contributors y: 94 lines of code cvm-attestation/src/EndpointSelector.py x: 1 # contributors y: 54 lines of code cvm-attestation/src/ImdsClient.py x: 3 # contributors y: 105 lines of code cvm-attestation/src/Isolation.py x: 1 # contributors y: 61 lines of code cvm-attestation/src/AttestationProvider.py x: 2 # contributors y: 271 lines of code cvm-attestation/src/Encoder.py x: 1 # contributors y: 30 lines of code cvm-attestation/AttestationTypes.py x: 1 # contributors y: 50 lines of code cvm-attestation/snp.py x: 1 # contributors y: 347 lines of code cvm-attestation/src/Logger.py x: 1 # contributors y: 18 lines of code cvm-attestation/src/OsInfo.py x: 1 # contributors y: 58 lines of code cvm-attestation/src/ReportParser.py x: 1 # contributors y: 48 lines of code cvm-attestation/src/measurements.py x: 1 # contributors y: 25 lines of code cvm-attestation/tpm_wrapper.py x: 3 # contributors y: 226 lines of code cvm-attestation/scripts/run_attestation.ps1 x: 2 # contributors y: 66 lines of code cvm-attestation/src/__init__.py x: 2 # contributors y: 1 lines of code
347.0
lines of code
  min: 1.0
  average: 86.83
  25th percentile: 25.0
  median: 58.0
  75th percentile: 94.0
  max: 347.0
0 4.0
# contributors
min: 1.0 | average: 1.65 | 25th percentile: 1.0 | median: 1.0 | 75th percentile: 2.0 | max: 4.0