facebook / sapp
File Change Frequency

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

File Change Frequency Overall
File Change Frequency Overall
The number of recorded file updates
  • There are 202 files with 22,721 lines of code.
    • 0 files changed more than 100 times (0 lines of code)
    • 0 files changed 51-100 times (0 lines of code)
    • 1 files changed 21-50 times (1,069 lines of code)
    • 27 files changed 6-20 times (9,098 lines of code)
    • 174 files changed 1-5 times (12,554 lines of code)
0% | 0% | 4% | 40% | 55%
Legend:
101+
51-100
21-50
6-20
1-5
explore: zoomable circles | data
File Change Frequency per File Extension
pyi, py, js, md, css, txt, json, yml, snap, gitignore, sh, svg, in, cfg, toml, html, eslintignore
File Change Frequency per Extension
The number of recorded file updates
101+
51-100
21-50
6-20
1-5
py0% | 0% | 11% | 73% | 14%
js0% | 0% | 0% | 65% | 34%
pyi0% | 0% | 0% | 0% | 100%
css0% | 0% | 0% | 0% | 100%
html0% | 0% | 0% | 0% | 0%
in0% | 0% | 0% | 0% | 0%
cfg0% | 0% | 0% | 0% | 0%
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
sapp0% | 0% | 27% | 46% | 25%
sapp/ui0% | 0% | 0% | 92% | 7%
sapp/ui/frontend0% | 0% | 0% | 63% | 36%
sapp/pipeline0% | 0% | 0% | 95% | 4%
ROOT0% | 0% | 0% | 96% | 4%
stubs/sqlalchemy/sql0% | 0% | 0% | 0% | 100%
stubs/sqlalchemy/orm0% | 0% | 0% | 0% | 100%
stubs/sqlalchemy/dialects0% | 0% | 0% | 0% | 100%
stubs/sqlalchemy/engine0% | 0% | 0% | 0% | 100%
stubs/sqlalchemy/util0% | 0% | 0% | 0% | 100%
stubs/sqlalchemy/ext0% | 0% | 0% | 0% | 100%
stubs/sqlalchemy0% | 0% | 0% | 0% | 100%
sapp/extensions0% | 0% | 0% | 0% | 100%
stubs/sqlalchemy/event0% | 0% | 0% | 0% | 100%
stubs/sqlalchemy/databases0% | 0% | 0% | 0% | 100%
stubs/pygments0% | 0% | 0% | 0% | 100%
stubs/sqlalchemy/connectors0% | 0% | 0% | 0% | 100%
Most Frequently Changed Files (Top 50)

See data for all files...

File# lines# unitslast modified
(days ago)
created
(days ago)
# changes# contributors
models.py
in sapp
1069 60 22 492 23 12
cli_lib.py
in sapp
269 13 34 415 20 7
pysa_taint_parser.py
in sapp/pipeline
367 23 44 448 20 7
filters.py
in sapp/ui
209 10 109 366 19 6
mariana_trench_parser.py
in sapp/pipeline
436 31 109 375 19 10
model_generator.py
in sapp/pipeline
509 22 17 485 18 9
issues.py
in sapp/ui
622 44 109 350 15 5
__init__.py
in sapp/pipeline
280 24 69 415 14 7
base_parser.py
in sapp/pipeline
184 16 109 485 13 6
interactive.py
in sapp/ui
1331 62 34 485 13 8
schema.py
in sapp/ui
278 19 109 350 12 6
filter.py
in sapp
174 11 109 353 11 4
514 35 93 492 11 5
setup.py
in root
24 1 109 480 10 4
Issues.js
in sapp/ui/frontend/src
165 2 109 351 10 4
Filter.js
in sapp/ui/frontend/src
1175 12 109 275 10 2
parallel_parser.py
in sapp/pipeline
34 3 109 448 9 5
269 29 59 382 9 9
Issue.js
in sapp/ui/frontend/src
321 6 109 361 8 5
422 55 69 492 8 7
server.py
in sapp/ui
88 3 77 381 7 5
135 13 59 492 7 7
Source.js
in sapp/ui/frontend/src
249 6 109 345 7 4
warning_code_filter.py
in sapp/pipeline
15 3 109 374 6 5
database_saver.py
in sapp/pipeline
123 5 93 447 6 6
180 7 109 492 6 5
trace.py
in sapp/ui
336 13 109 485 6 4
Traces.js
in sapp/ui/frontend/src
389 9 109 275 6 2
run.py
in sapp/ui
59 3 109 270 5 3
db.py
in sapp
69 6 93 290 5 4
87 8 35 233 5 3
index.js
in sapp/ui/frontend/src
102 1 109 381 5 4
111 20 109 350 5 3
Runs.js
in sapp/ui/frontend/src
151 4 109 270 5 2
198 14 109 448 5 5
create_database.py
in sapp/pipeline
13 2 109 379 4 4
index.css
in sapp/ui/frontend/src
32 - 109 353 4 3
cli.py
in sapp
53 1 109 357 4 3
60 2 109 254 4 4
queries.py
in sapp
66 5 109 253 4 4
typeahead.py
in sapp/ui
75 9 109 275 4 2
pyi
schema.pyi
in stubs/sqlalchemy/sql
826 102 253 428 4 3
trim_trace_graph.py
in sapp/pipeline
16 1 109 254 3 3
23 1 109 243 3 2
Filter.css
in sapp/ui/frontend/src
28 - 109 275 3 2
pyi
schema.pyi
in stubs/sqlalchemy
42 - 253 428 3 3
pyi
result.pyi
in stubs/sqlalchemy/engine
80 49 253 428 3 3
lint.py
in sapp
83 1 109 254 3 3
pyi
base.pyi
in stubs/sqlalchemy/sql
86 37 253 428 3 3
HumanReadable.js
in sapp/ui/frontend/src
97 5 109 345 3 3
Files With Most Contributors (Top 50)
Files sorted by the number of unique email addresses found in commits.

See data for all files...

File# lines# unitslast modified
(days ago)
created
(days ago)
# changes# contributors
models.py
in sapp
1069 60 22 492 23 12
cli_lib.py
in sapp
269 13 34 415 20 7
pysa_taint_parser.py
in sapp/pipeline
367 23 44 448 20 7
filters.py
in sapp/ui
209 10 109 366 19 6
mariana_trench_parser.py
in sapp/pipeline
436 31 109 375 19 10
model_generator.py
in sapp/pipeline
509 22 17 485 18 9
issues.py
in sapp/ui
622 44 109 350 15 5
__init__.py
in sapp/pipeline
280 24 69 415 14 7
base_parser.py
in sapp/pipeline
184 16 109 485 13 6
interactive.py
in sapp/ui
1331 62 34 485 13 8
schema.py
in sapp/ui
278 19 109 350 12 6
filter.py
in sapp
174 11 109 353 11 4
514 35 93 492 11 5
Filter.js
in sapp/ui/frontend/src
1175 12 109 275 10 2
setup.py
in root
24 1 109 480 10 4
Issues.js
in sapp/ui/frontend/src
165 2 109 351 10 4
parallel_parser.py
in sapp/pipeline
34 3 109 448 9 5
269 29 59 382 9 9
Issue.js
in sapp/ui/frontend/src
321 6 109 361 8 5
422 55 69 492 8 7
Source.js
in sapp/ui/frontend/src
249 6 109 345 7 4
server.py
in sapp/ui
88 3 77 381 7 5
135 13 59 492 7 7
Traces.js
in sapp/ui/frontend/src
389 9 109 275 6 2
trace.py
in sapp/ui
336 13 109 485 6 4
180 7 109 492 6 5
warning_code_filter.py
in sapp/pipeline
15 3 109 374 6 5
database_saver.py
in sapp/pipeline
123 5 93 447 6 6
Runs.js
in sapp/ui/frontend/src
151 4 109 270 5 2
87 8 35 233 5 3
111 20 109 350 5 3
run.py
in sapp/ui
59 3 109 270 5 3
db.py
in sapp
69 6 93 290 5 4
index.js
in sapp/ui/frontend/src
102 1 109 381 5 4
198 14 109 448 5 5
typeahead.py
in sapp/ui
75 9 109 275 4 2
cli.py
in sapp
53 1 109 357 4 3
index.css
in sapp/ui/frontend/src
32 - 109 353 4 3
pyi
schema.pyi
in stubs/sqlalchemy/sql
826 102 253 428 4 3
queries.py
in sapp
66 5 109 253 4 4
60 2 109 254 4 4
create_database.py
in sapp/pipeline
13 2 109 379 4 4
23 1 109 243 3 2
Filter.css
in sapp/ui/frontend/src
28 - 109 275 3 2
lint.py
in sapp
83 1 109 254 3 3
trim_trace_graph.py
in sapp/pipeline
16 1 109 254 3 3
HumanReadable.js
in sapp/ui/frontend/src
97 5 109 345 3 3
pyi
functions.pyi
in stubs/sqlalchemy/sql
227 39 253 428 3 3
pyi
compiler.pyi
in stubs/sqlalchemy/sql
424 199 253 428 3 3
pyi
elements.pyi
in stubs/sqlalchemy/sql
656 158 253 428 3 3
Correlations

File Size vs. Number of Changes: 202 points

sapp/pipeline/model_generator.py x: 509 lines of code y: 18 # changes sapp/models.py x: 1069 lines of code y: 23 # changes sapp/ui/interactive.py x: 1331 lines of code y: 13 # changes sapp/json_diagnostics.py x: 144 lines of code y: 1 # changes sapp/cli_lib.py x: 269 lines of code y: 20 # changes sapp/json_cmd.py x: 29 lines of code y: 1 # changes sapp/sharded_files.py x: 87 lines of code y: 5 # changes sapp/pipeline/pysa_taint_parser.py x: 367 lines of code y: 20 # changes sapp/bulk_saver.py x: 135 lines of code y: 7 # changes sapp/db_support.py x: 269 lines of code y: 9 # changes sapp/errors.py x: 11 lines of code y: 2 # changes sapp/pipeline/__init__.py x: 280 lines of code y: 14 # changes sapp/trace_graph.py x: 422 lines of code y: 8 # changes sapp/ui/server.py x: 88 lines of code y: 7 # changes sapp/db.py x: 69 lines of code y: 5 # changes sapp/iterutil.py x: 9 lines of code y: 2 # changes sapp/pipeline/database_saver.py x: 123 lines of code y: 6 # changes sapp/trimmed_trace_graph.py x: 514 lines of code y: 11 # changes __init__.py x: 1 lines of code y: 1 # changes sapp/analysis_output.py x: 198 lines of code y: 5 # changes sapp/cli.py x: 53 lines of code y: 4 # changes sapp/decorators.py x: 58 lines of code y: 2 # changes sapp/extensions/prompt_extension.py x: 34 lines of code y: 1 # changes sapp/filesystem.py x: 10 lines of code y: 1 # changes sapp/filter.py x: 174 lines of code y: 11 # changes sapp/lint.py x: 83 lines of code y: 3 # changes sapp/pipeline/add_features.py x: 16 lines of code y: 2 # changes sapp/pipeline/add_issue_instance_leaves.py x: 60 lines of code y: 4 # changes sapp/pipeline/base_parser.py x: 184 lines of code y: 13 # changes sapp/pipeline/create_database.py x: 13 lines of code y: 4 # changes sapp/pipeline/mariana_trench_parser.py x: 436 lines of code y: 19 # changes sapp/pipeline/parallel_parser.py x: 34 lines of code y: 9 # changes sapp/pipeline/propagate_shared_texts.py x: 180 lines of code y: 6 # changes sapp/pipeline/trim_trace_graph.py x: 16 lines of code y: 3 # changes sapp/pipeline/warning_code_filter.py x: 15 lines of code y: 6 # changes sapp/queries.py x: 66 lines of code y: 4 # changes sapp/sarif.py x: 69 lines of code y: 2 # changes sapp/sarif_types.py x: 23 lines of code y: 3 # changes sapp/ui/filter_predicates.py x: 111 lines of code y: 5 # changes sapp/ui/filters.py x: 209 lines of code y: 19 # changes sapp/ui/frontend/config/env.js x: 58 lines of code y: 1 # changes sapp/ui/frontend/config/getHttpsConfig.js x: 51 lines of code y: 1 # changes sapp/ui/frontend/config/jest/cssTransform.js x: 9 lines of code y: 1 # changes sapp/ui/frontend/config/modules.js x: 81 lines of code y: 1 # changes sapp/ui/frontend/config/pnpTs.js x: 32 lines of code y: 1 # changes sapp/ui/frontend/config/webpackDevServer.config.js x: 55 lines of code y: 1 # changes sapp/ui/frontend/scripts/build.js x: 167 lines of code y: 1 # changes sapp/ui/frontend/scripts/start.js x: 131 lines of code y: 1 # changes sapp/ui/frontend/src/Documentation.js x: 46 lines of code y: 2 # changes sapp/ui/frontend/src/Filter.css x: 28 lines of code y: 3 # changes sapp/ui/frontend/src/Filter.js x: 1175 lines of code y: 10 # changes sapp/ui/frontend/src/HumanReadable.js x: 97 lines of code y: 3 # changes sapp/ui/frontend/src/Issue.js x: 321 lines of code y: 8 # changes sapp/ui/frontend/src/Issues.js x: 165 lines of code y: 10 # changes sapp/ui/frontend/src/Runs.js x: 151 lines of code y: 5 # changes sapp/ui/frontend/src/Source.css x: 42 lines of code y: 2 # changes sapp/ui/frontend/src/Source.js x: 249 lines of code y: 7 # changes sapp/ui/frontend/src/Traces.js x: 389 lines of code y: 6 # changes sapp/ui/frontend/src/index.css x: 32 lines of code y: 4 # changes sapp/ui/frontend/src/index.js x: 102 lines of code y: 5 # changes sapp/ui/frontend/src/serviceWorker.js x: 98 lines of code y: 1 # changes sapp/ui/issues.py x: 622 lines of code y: 15 # changes sapp/ui/run.py x: 59 lines of code y: 5 # changes sapp/ui/schema.py x: 278 lines of code y: 12 # changes sapp/ui/trace.py x: 336 lines of code y: 6 # changes sapp/ui/typeahead.py x: 75 lines of code y: 4 # changes sapp/warning_messages.py x: 45 lines of code y: 2 # changes setup.py x: 24 lines of code y: 10 # changes stubs/pygments/formatters.pyi x: 2 lines of code y: 2 # changes stubs/sqlalchemy/engine/result.pyi x: 80 lines of code y: 3 # changes stubs/sqlalchemy/schema.pyi x: 42 lines of code y: 3 # changes stubs/sqlalchemy/sql/base.pyi x: 86 lines of code y: 3 # changes stubs/sqlalchemy/sql/compiler.pyi x: 424 lines of code y: 3 # changes stubs/sqlalchemy/sql/ddl.pyi x: 199 lines of code y: 3 # changes stubs/sqlalchemy/sql/elements.pyi x: 656 lines of code y: 3 # changes stubs/sqlalchemy/sql/functions.pyi x: 227 lines of code y: 3 # changes stubs/sqlalchemy/sql/schema.pyi x: 826 lines of code y: 4 # changes stubs/sqlalchemy/sql/selectable.pyi x: 451 lines of code y: 3 # changes stubs/sqlalchemy/util/__init__.pyi x: 128 lines of code y: 3 # changes stubs/sqlalchemy/util/_collections.pyi x: 247 lines of code y: 3 # changes stubs/sqlalchemy/__init__.pyi x: 129 lines of code y: 2 # changes stubs/sqlalchemy/databases/__init__.pyi x: 7 lines of code y: 2 # changes stubs/sqlalchemy/dialects/mssql/__init__.pyi x: 31 lines of code y: 2 # changes stubs/sqlalchemy/dialects/mssql/base.pyi x: 53 lines of code y: 2 # changes stubs/sqlalchemy/dialects/mysql/__init__.pyi x: 37 lines of code y: 2 # changes stubs/sqlalchemy/dialects/mysql/base.pyi x: 236 lines of code y: 2 # changes stubs/sqlalchemy/dialects/mysql/mysqlconnector.pyi x: 33 lines of code y: 2 # changes stubs/sqlalchemy/dialects/postgresql/__init__.pyi x: 50 lines of code y: 2 # changes stubs/sqlalchemy/dialects/postgresql/base.pyi x: 283 lines of code y: 2 # changes stubs/sqlalchemy/engine/__init__.pyi x: 26 lines of code y: 2 # changes stubs/sqlalchemy/engine/base.pyi x: 147 lines of code y: 2 # changes stubs/sqlalchemy/engine/interfaces.pyi x: 126 lines of code y: 2 # changes stubs/sqlalchemy/engine/url.pyi x: 27 lines of code y: 2 # changes stubs/sqlalchemy/ext/compiler.pyi x: 4 lines of code y: 2 # changes stubs/sqlalchemy/orm/__init__.pyi x: 71 lines of code y: 2 # changes stubs/sqlalchemy/orm/attributes.pyi x: 247 lines of code y: 2 # changes stubs/sqlalchemy/orm/dependency.pyi x: 118 lines of code y: 2 # changes stubs/sqlalchemy/orm/dynamic.pyi x: 80 lines of code y: 2 # changes stubs/sqlalchemy/orm/interfaces.pyi x: 97 lines of code y: 2 # changes stubs/sqlalchemy/orm/mapper.pyi x: 115 lines of code y: 2 # changes stubs/sqlalchemy/orm/properties.pyi x: 39 lines of code y: 2 # changes stubs/sqlalchemy/orm/query.pyi x: 218 lines of code y: 2 # changes stubs/sqlalchemy/orm/relationships.pyi x: 221 lines of code y: 2 # changes stubs/sqlalchemy/orm/util.pyi x: 135 lines of code y: 2 # changes stubs/sqlalchemy/pool.pyi x: 66 lines of code y: 2 # changes stubs/sqlalchemy/sql/dml.pyi x: 90 lines of code y: 2 # changes stubs/sqlalchemy/sql/expression.pyi x: 122 lines of code y: 2 # changes stubs/sqlalchemy/sql/operators.pyi x: 123 lines of code y: 2 # changes stubs/sqlalchemy/sql/sqltypes.pyi x: 451 lines of code y: 2 # changes stubs/sqlalchemy/sql/type_api.pyi x: 134 lines of code y: 2 # changes stubs/sqlalchemy/types.pyi x: 52 lines of code y: 2 # changes stubs/sqlalchemy/connectors/__init__.pyi x: 3 lines of code y: 1 # changes stubs/sqlalchemy/dialects/mysql/cymysql.pyi x: 16 lines of code y: 1 # changes stubs/sqlalchemy/dialects/mysql/enumerated.pyi x: 17 lines of code y: 1 # changes stubs/sqlalchemy/dialects/mysql/json.pyi x: 7 lines of code y: 1 # changes stubs/sqlalchemy/dialects/mysql/pymysql.pyi x: 13 lines of code y: 1 # changes stubs/sqlalchemy/dialects/mysql/types.pyi x: 149 lines of code y: 1 # changes stubs/sqlalchemy/dialects/postgresql/dml.pyi x: 44 lines of code y: 1 # changes stubs/sqlalchemy/engine/default.pyi x: 159 lines of code y: 1 # changes stubs/sqlalchemy/engine/threadlocal.pyi x: 20 lines of code y: 1 # changes stubs/sqlalchemy/events.pyi x: 50 lines of code y: 1 # changes stubs/sqlalchemy/exc.pyi x: 76 lines of code y: 1 # changes stubs/sqlalchemy/ext/automap.pyi x: 25 lines of code y: 1 # changes stubs/sqlalchemy/ext/baked.pyi x: 39 lines of code y: 1 # changes stubs/sqlalchemy/ext/instrumentation.pyi x: 28 lines of code y: 1 # changes stubs/sqlalchemy/ext/orderinglist.pyi x: 22 lines of code y: 1 # changes stubs/sqlalchemy/orm/events.pyi x: 82 lines of code y: 1 # changes stubs/sqlalchemy/orm/path_registry.pyi x: 69 lines of code y: 1 # changes stubs/sqlalchemy/orm/session.pyi x: 153 lines of code y: 1 # changes stubs/sqlalchemy/orm/strategies.pyi x: 136 lines of code y: 1 # changes stubs/sqlalchemy/orm/unitofwork.pyi x: 86 lines of code y: 1 # changes stubs/sqlalchemy/sql/util.pyi x: 67 lines of code y: 1 # changes stubs/sqlalchemy/util/langhelpers.pyi x: 114 lines of code y: 1 # changes
23.0
# changes
  min: 1.0
  average: 3.13
  25th percentile: 1.0
  median: 2.0
  75th percentile: 3.0
  max: 23.0
0 1331.0
lines of code
min: 1.0 | average: 112.48 | 25th percentile: 16.0 | median: 51.0 | 75th percentile: 128.25 | max: 1331.0

Number of Contributors vs. Number of Changes: 202 points

sapp/pipeline/model_generator.py x: 9 # contributors y: 18 # changes sapp/models.py x: 12 # contributors y: 23 # changes sapp/ui/interactive.py x: 8 # contributors y: 13 # changes sapp/json_diagnostics.py x: 1 # contributors y: 1 # changes sapp/cli_lib.py x: 7 # contributors y: 20 # changes sapp/sharded_files.py x: 3 # contributors y: 5 # changes sapp/bulk_saver.py x: 7 # contributors y: 7 # changes sapp/db_support.py x: 9 # contributors y: 9 # changes sapp/errors.py x: 2 # contributors y: 2 # changes sapp/pipeline/__init__.py x: 7 # contributors y: 14 # changes sapp/trace_graph.py x: 7 # contributors y: 8 # changes sapp/ui/server.py x: 5 # contributors y: 7 # changes sapp/db.py x: 4 # contributors y: 5 # changes sapp/pipeline/database_saver.py x: 6 # contributors y: 6 # changes sapp/trimmed_trace_graph.py x: 5 # contributors y: 11 # changes sapp/analysis_output.py x: 5 # contributors y: 5 # changes sapp/cli.py x: 3 # contributors y: 4 # changes sapp/filter.py x: 4 # contributors y: 11 # changes sapp/lint.py x: 3 # contributors y: 3 # changes sapp/pipeline/add_issue_instance_leaves.py x: 4 # contributors y: 4 # changes sapp/pipeline/base_parser.py x: 6 # contributors y: 13 # changes sapp/pipeline/mariana_trench_parser.py x: 10 # contributors y: 19 # changes sapp/pipeline/parallel_parser.py x: 5 # contributors y: 9 # changes sapp/pipeline/propagate_shared_texts.py x: 5 # contributors y: 6 # changes sapp/sarif_types.py x: 2 # contributors y: 3 # changes sapp/ui/filters.py x: 6 # contributors y: 19 # changes sapp/ui/frontend/src/Filter.js x: 2 # contributors y: 10 # changes sapp/ui/frontend/src/Issue.js x: 5 # contributors y: 8 # changes sapp/ui/frontend/src/Issues.js x: 4 # contributors y: 10 # changes sapp/ui/frontend/src/Runs.js x: 2 # contributors y: 5 # changes sapp/ui/frontend/src/Source.js x: 4 # contributors y: 7 # changes sapp/ui/frontend/src/Traces.js x: 2 # contributors y: 6 # changes sapp/ui/issues.py x: 5 # contributors y: 15 # changes sapp/ui/schema.py x: 6 # contributors y: 12 # changes sapp/ui/trace.py x: 4 # contributors y: 6 # changes sapp/ui/typeahead.py x: 2 # contributors y: 4 # changes
23.0
# changes
  min: 1.0
  average: 3.13
  25th percentile: 1.0
  median: 2.0
  75th percentile: 3.0
  max: 23.0
0 12.0
# contributors
min: 1.0 | average: 2.27 | 25th percentile: 1.0 | median: 2.0 | 75th percentile: 3.0 | max: 12.0