facebook / pyre-check
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 706 files with 122,743 lines of code.
    • 3 files changed more than 100 times (2,829 lines of code)
    • 15 files changed 51-100 times (22,173 lines of code)
    • 54 files changed 21-50 times (36,018 lines of code)
    • 218 files changed 6-20 times (37,335 lines of code)
    • 416 files changed 1-5 times (24,388 lines of code)
2% | 18% | 29% | 30% | 19%
Legend:
101+
51-100
21-50
6-20
1-5
explore: zoomable circles | data
File Change Frequency per File Extension
ml, py, mli, pyi, md, json, c, h, v, js, txt, css, sh, yml, gitignore, sty, html, svg, in, ts, patch, yaml, tex, mll, toml, vscodeignore, mly
File Change Frequency per Extension
The number of recorded file updates
101+
51-100
21-50
6-20
1-5
py13% | 20% | 19% | 28% | 16%
ml0% | 21% | 34% | 27% | 16%
mli0% | 0% | 23% | 31% | 45%
c0% | 0% | 0% | 83% | 16%
mly0% | 0% | 0% | 100% | 0%
pyi0% | 0% | 0% | 39% | 60%
in0% | 0% | 0% | 100% | 0%
mll0% | 0% | 0% | 0% | 100%
ts0% | 0% | 0% | 0% | 100%
h0% | 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
client59% | 4% | 24% | 8% | 2%
client/commands6% | 50% | 16% | 6% | 20%
source/analysis0% | 24% | 39% | 21% | 13%
source/interprocedural_analyses0% | 39% | 31% | 24% | 4%
tools/upgrade0% | 24% | 20% | 53% | 1%
source/ast0% | 0% | 55% | 38% | 5%
source/interprocedural0% | 0% | 36% | 44% | 19%
source/server0% | 0% | 22% | 45% | 31%
source/buck0% | 0% | 46% | 21% | 32%
tools/generate_taint_models0% | 0% | 40% | 37% | 22%
source/service0% | 0% | 31% | 29% | 39%
source0% | 0% | 24% | 35% | 39%
source/command0% | 0% | 41% | 20% | 38%
scripts0% | 0% | 22% | 70% | 7%
scripts/pypi0% | 0% | 66% | 29% | 3%
pyre_extensions0% | 0% | 32% | 54% | 13%
source/domains0% | 0% | 0% | 90% | 9%
source/parser0% | 0% | 0% | 79% | 20%
source/hack_parallel0% | 0% | 0% | 23% | 76%
source/new_parser0% | 0% | 0% | 94% | 5%
client/libcst_vendored_visitors0% | 0% | 0% | 95% | 4%
stubs/django0% | 0% | 0% | 48% | 51%
api0% | 0% | 0% | 100% | 0%
client/log0% | 0% | 0% | 100% | 0%
tools/pysa_integration_tests0% | 0% | 0% | 67% | 32%
stubs/integration_test0% | 0% | 0% | 40% | 59%
stubs/lxml0% | 0% | 0% | 95% | 4%
tools/incremental_test0% | 0% | 0% | 0% | 100%
source/data_structures0% | 0% | 0% | 0% | 100%
stubs/mysql0% | 0% | 0% | 0% | 100%
tools/playground0% | 0% | 0% | 0% | 100%
tools/ide_plugins0% | 0% | 0% | 0% | 100%
ROOT0% | 0% | 0% | 0% | 100%
stubs/rest_framework0% | 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
pyre.py
in client
1008 31 42 1429 256 27
1425 88 30 1429 165 20
start.py
in client/commands
396 18 101 1429 103 17
infer.py
in client/commands
812 51 57 1036 93 15
ml
forwardAnalysis.ml
in source/interprocedural_analyses/taint
2091 - 21 514 93 17
ml
backwardAnalysis.ml
in source/interprocedural_analyses/taint
1940 - 21 514 91 17
ml
typeCheck.ml
in source/analysis
6912 - 31 514 88 13
incremental.py
in client/commands
174 10 70 1429 80 16
ml
modelParser.ml
in source/interprocedural_analyses/taint
3135 - 31 514 79 13
upgrade.py
in tools/upgrade
101 2 43 1071 71 9
filesystem.py
in client
184 21 101 1429 66 12
analyze.py
in client/commands
235 8 63 1429 64 15
check.py
in client/commands
172 8 101 1429 61 12
kill.py
in client/commands
83 6 101 1429 58 12
persistent.py
in client/commands
1551 26 42 1429 58 13
statistics.py
in client/commands
270 23 101 932 56 10
errors.py
in tools/upgrade
588 38 65 953 55 9
ml
preprocessing.ml
in source/analysis
3925 - 94 514 53 10
ml
type.ml
in source/analysis
5719 - 50 514 49 9
initialize.py
in client/commands
180 5 101 1429 47 8
ml
taintAnalysis.ml
in source/interprocedural_analyses/taint
385 - 17 514 47 11
ml
domains.ml
in source/interprocedural_analyses/taint
1143 - 21 514 47 10
ml
analyzeCommand.ml
in source/command
331 - 21 514 43 10
restart.py
in client/commands
18 1 101 1429 42 10
__init__.py
in tools/generate_taint_models
171 5 101 1029 42 17
ml
analysisError.ml
in source/analysis
4039 - 45 514 42 9
ml
attributeResolution.ml
in source/analysis
4724 - 35 514 42 10
stop.py
in client/commands
49 4 101 1429 40 12
149 2 42 581 40 6
ml
model.ml
in source/interprocedural_analyses/taint
557 - 39 514 40 10
ml
staticAnalysis.ml
in source/service
701 - 21 514 40 9
rage.py
in client/commands
183 17 101 1429 36 12
error.py
in client
387 35 78 1429 36 13
ml
callGraph.ml
in source/interprocedural
1619 - 29 514 35 9
query.py
in client/commands
73 7 101 1414 34 8
setup.py
in scripts
297 15 24 849 34 10
profile.py
in client/commands
343 31 101 916 34 10
ml
modelQuery.ml
in source/interprocedural_analyses/taint/modelQuery
755 - 46 514 34 9
ml
query.ml
in source/server
902 - 16 514 34 10
__init__.py
in client/commands
24 - 101 1429 32 10
mli
type.mli
in source/analysis
765 - 50 514 32 8
__init__.py
in pyre_extensions
59 3 63 1049 31 10
mli
modelParser.mli
in source/interprocedural_analyses/taint
198 - 46 514 30 8
ml
features.ml
in source/interprocedural_analyses/taint
420 - 76 514 30 11
ml
statement.ml
in source/ast
1662 - 45 514 30 8
ml
uninitializedLocalCheck.ml
in source/analysis
265 - 45 323 29 7
build_pypi_package.py
in scripts/pypi
268 22 37 626 29 13
ml
396 - 31 514 28 10
ml
typeInferenceLocal.ml
in source/interprocedural_analyses/type_inference
1133 - 45 295 28 6
servers.py
in client/commands
191 16 101 849 27 5
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
pyre.py
in client
1008 31 42 1429 256 27
1425 88 30 1429 165 20
start.py
in client/commands
396 18 101 1429 103 17
infer.py
in client/commands
812 51 57 1036 93 15
ml
forwardAnalysis.ml
in source/interprocedural_analyses/taint
2091 - 21 514 93 17
ml
backwardAnalysis.ml
in source/interprocedural_analyses/taint
1940 - 21 514 91 17
ml
typeCheck.ml
in source/analysis
6912 - 31 514 88 13
incremental.py
in client/commands
174 10 70 1429 80 16
ml
modelParser.ml
in source/interprocedural_analyses/taint
3135 - 31 514 79 13
upgrade.py
in tools/upgrade
101 2 43 1071 71 9
filesystem.py
in client
184 21 101 1429 66 12
analyze.py
in client/commands
235 8 63 1429 64 15
check.py
in client/commands
172 8 101 1429 61 12
kill.py
in client/commands
83 6 101 1429 58 12
persistent.py
in client/commands
1551 26 42 1429 58 13
statistics.py
in client/commands
270 23 101 932 56 10
errors.py
in tools/upgrade
588 38 65 953 55 9
ml
preprocessing.ml
in source/analysis
3925 - 94 514 53 10
ml
type.ml
in source/analysis
5719 - 50 514 49 9
initialize.py
in client/commands
180 5 101 1429 47 8
ml
domains.ml
in source/interprocedural_analyses/taint
1143 - 21 514 47 10
ml
taintAnalysis.ml
in source/interprocedural_analyses/taint
385 - 17 514 47 11
ml
analyzeCommand.ml
in source/command
331 - 21 514 43 10
ml
analysisError.ml
in source/analysis
4039 - 45 514 42 9
restart.py
in client/commands
18 1 101 1429 42 10
ml
attributeResolution.ml
in source/analysis
4724 - 35 514 42 10
__init__.py
in tools/generate_taint_models
171 5 101 1029 42 17
149 2 42 581 40 6
ml
staticAnalysis.ml
in source/service
701 - 21 514 40 9
ml
model.ml
in source/interprocedural_analyses/taint
557 - 39 514 40 10
stop.py
in client/commands
49 4 101 1429 40 12
rage.py
in client/commands
183 17 101 1429 36 12
error.py
in client
387 35 78 1429 36 13
ml
callGraph.ml
in source/interprocedural
1619 - 29 514 35 9
query.py
in client/commands
73 7 101 1414 34 8
ml
modelQuery.ml
in source/interprocedural_analyses/taint/modelQuery
755 - 46 514 34 9
profile.py
in client/commands
343 31 101 916 34 10
setup.py
in scripts
297 15 24 849 34 10
ml
query.ml
in source/server
902 - 16 514 34 10
mli
type.mli
in source/analysis
765 - 50 514 32 8
__init__.py
in client/commands
24 - 101 1429 32 10
__init__.py
in pyre_extensions
59 3 63 1049 31 10
mli
modelParser.mli
in source/interprocedural_analyses/taint
198 - 46 514 30 8
ml
statement.ml
in source/ast
1662 - 45 514 30 8
ml
features.ml
in source/interprocedural_analyses/taint
420 - 76 514 30 11
ml
uninitializedLocalCheck.ml
in source/analysis
265 - 45 323 29 7
build_pypi_package.py
in scripts/pypi
268 22 37 626 29 13
ml
typeInferenceLocal.ml
in source/interprocedural_analyses/type_inference
1133 - 45 295 28 6
ml
396 - 31 514 28 10
servers.py
in client/commands
191 16 101 849 27 5
Correlations

File Size vs. Number of Changes: 706 points

source/hack_parallel/hack_parallel/heap/sharedMemory.ml x: 1056 lines of code y: 3 # changes source/analysis/astEnvironment.ml x: 473 lines of code y: 22 # changes source/analysis/astEnvironment.mli x: 71 lines of code y: 8 # changes source/server/query.ml x: 902 lines of code y: 34 # changes source/interprocedural/fixpointAnalysis.ml x: 674 lines of code y: 12 # changes source/analysis/typeEnvironment.ml x: 97 lines of code y: 3 # changes source/analysis/typeEnvironment.mli x: 36 lines of code y: 3 # changes source/hack_parallel/hack_parallel/heap/sharedMemory.mli x: 197 lines of code y: 2 # changes source/interprocedural/fixpointState.ml x: 125 lines of code y: 5 # changes source/interprocedural/fixpointState.mli x: 53 lines of code y: 4 # changes source/interprocedural_analyses/taint/taintAnalysis.ml x: 385 lines of code y: 47 # changes source/ast/expression.ml x: 2135 lines of code y: 23 # changes source/ast/expression.mli x: 449 lines of code y: 17 # changes source/interprocedural/classInterval.ml x: 140 lines of code y: 3 # changes source/interprocedural/classInterval.mli x: 47 lines of code y: 3 # changes source/interprocedural_analyses/taint/backwardAnalysis.ml x: 1940 lines of code y: 91 # changes source/interprocedural_analyses/taint/forwardAnalysis.ml x: 2091 lines of code y: 93 # changes source/interprocedural_analyses/taint/callModel.ml x: 218 lines of code y: 10 # changes source/interprocedural_analyses/taint/callModel.mli x: 53 lines of code y: 7 # changes source/interprocedural_analyses/taint/domains.ml x: 1143 lines of code y: 47 # changes source/interprocedural_analyses/taint/globalModel.ml x: 131 lines of code y: 8 # changes source/interprocedural_analyses/taint/globalModel.mli x: 24 lines of code y: 6 # changes source/command/analyzeCommand.ml x: 331 lines of code y: 43 # changes source/service/staticAnalysis.ml x: 701 lines of code y: 40 # changes source/service/staticAnalysis.mli x: 71 lines of code y: 18 # changes source/interprocedural_analyses/taint/issue.ml x: 690 lines of code y: 11 # changes source/interprocedural_analyses/taint/taintConfiguration.ml x: 1132 lines of code y: 20 # changes source/interprocedural_analyses/taint/taintConfiguration.mli x: 136 lines of code y: 14 # changes source/interprocedural_analyses/taint/taintTransforms.ml x: 53 lines of code y: 5 # changes source/interprocedural_analyses/taint/taintTransforms.mli x: 29 lines of code y: 5 # changes source/interprocedural_analyses/taint/taintTransform.ml x: 25 lines of code y: 7 # changes source/interprocedural_analyses/taint/taintTransform.mli x: 15 lines of code y: 7 # changes source/interprocedural_analyses/taint/annotationParser.ml x: 57 lines of code y: 6 # changes source/interprocedural_analyses/taint/sinks.ml x: 184 lines of code y: 18 # changes source/interprocedural_analyses/taint/sources.ml x: 145 lines of code y: 15 # changes source/interprocedural/interprocedural.ml x: 19 lines of code y: 8 # changes source/interprocedural_analyses/taint/taint.ml x: 30 lines of code y: 21 # changes scripts/setup.py x: 297 lines of code y: 34 # changes source/hack_parallel/hack_parallel.ml x: 18 lines of code y: 4 # changes source/hack_parallel/hack_parallel/procs/worker.ml x: 356 lines of code y: 5 # changes source/hack_parallel/hack_parallel/procs/worker.mli x: 63 lines of code y: 4 # changes source/interprocedural_analyses/taint/taintReporting.ml x: 198 lines of code y: 15 # changes source/profiling.ml x: 109 lines of code y: 7 # changes source/service/incrementalCheck.ml x: 179 lines of code y: 5 # changes source/service/memory.ml x: 256 lines of code y: 15 # changes source/service/memory.mli x: 86 lines of code y: 8 # changes source/service/dependencyTrackedMemory.ml x: 221 lines of code y: 5 # changes source/service/dependencyTrackedMemory.mli x: 106 lines of code y: 4 # changes source/analysis/aliasEnvironment.ml x: 400 lines of code y: 16 # changes source/interprocedural/classHierarchyGraph.ml x: 108 lines of code y: 3 # changes source/interprocedural/callGraph.ml x: 1619 lines of code y: 35 # changes source/interprocedural/callGraph.mli x: 165 lines of code y: 17 # changes stubs/integration_test/run.py x: 70 lines of code y: 7 # changes source/domains/abstractTreeDomain.ml x: 984 lines of code y: 18 # changes client/commands/backend_arguments.py x: 296 lines of code y: 8 # changes client/configuration.py x: 1425 lines of code y: 165 # changes source/analysis/callgraph.mli x: 74 lines of code y: 5 # changes source/analysis/environment.ml x: 304 lines of code y: 5 # changes source/analysis/inlineDecorator.mli x: 48 lines of code y: 4 # changes source/analysis/typeCheck.ml x: 6912 lines of code y: 88 # changes source/configuration.ml x: 396 lines of code y: 28 # changes source/configuration.mli x: 181 lines of code y: 25 # changes source/interprocedural_analyses/taint/modelParser.ml x: 3135 lines of code y: 79 # changes source/analysis/cfg.ml x: 613 lines of code y: 19 # changes source/analysis/cfg.mli x: 53 lines of code y: 8 # changes source/analysis/unannotatedGlobalEnvironment.ml x: 932 lines of code y: 18 # changes source/interprocedural_analyses/taint/sinks.mli x: 59 lines of code y: 13 # changes source/interprocedural_analyses/taint/sources.mli x: 46 lines of code y: 11 # changes source/analysis/annotatedGlobalEnvironment.ml x: 94 lines of code y: 5 # changes source/interprocedural/target.ml x: 232 lines of code y: 10 # changes source/interprocedural/target.mli x: 99 lines of code y: 7 # changes source/analysis/classSummary.ml x: 1095 lines of code y: 12 # changes client/find_directories.py x: 135 lines of code y: 21 # changes source/analysis/attributeResolution.ml x: 4724 lines of code y: 42 # changes source/analysis/unannotatedGlobalEnvironment.mli x: 118 lines of code y: 5 # changes source/interprocedural_analyses/taint/classModels.ml x: 141 lines of code y: 6 # changes client/libcst_vendored_visitors/__init__.py x: 2 lines of code y: 3 # changes client/libcst_vendored_visitors/_apply_type_annotations.py x: 844 lines of code y: 7 # changes client/libcst_vendored_visitors/_gather_global_names.py x: 36 lines of code y: 1 # changes scripts/pypi/build_pypi_package.py x: 268 lines of code y: 29 # changes tools/playground/application.py x: 198 lines of code y: 3 # changes tools/playground/wsgi.py x: 2 lines of code y: 2 # changes source/interprocedural_analyses/taint/model.ml x: 557 lines of code y: 40 # changes source/buck/raw.ml x: 176 lines of code y: 13 # changes client/commands/language_server_protocol.py x: 450 lines of code y: 4 # changes client/commands/persistent.py x: 1551 lines of code y: 58 # changes client/command_arguments.py x: 149 lines of code y: 40 # changes client/pyre.py x: 1008 lines of code y: 256 # changes tools/upgrade/commands/pysa_version_update.py x: 52 lines of code y: 1 # changes tools/upgrade/configuration.py x: 238 lines of code y: 20 # changes tools/upgrade/upgrade.py x: 101 lines of code y: 71 # changes source/analysis/locationBasedLookup.ml x: 602 lines of code y: 2 # changes source/analysis/locationBasedLookup.mli x: 49 lines of code y: 2 # changes source/server/query.mli x: 151 lines of code y: 15 # changes source/statistics.ml x: 235 lines of code y: 12 # changes source/ast/location.ml x: 115 lines of code y: 6 # changes source/ast/statement.ml x: 1662 lines of code y: 30 # changes source/ast/statement.mli x: 333 lines of code y: 23 # changes source/analysis/analysisError.ml x: 4039 lines of code y: 42 # changes source/analysis/analysisError.mli x: 451 lines of code y: 24 # changes source/server/start.ml x: 644 lines of code y: 12 # changes source/analysis/callgraph.ml x: 287 lines of code y: 5 # changes source/analysis/postprocessing.ml x: 223 lines of code y: 11 # changes source/ast/unannotatedGlobal.ml x: 179 lines of code y: 8 # changes source/interprocedural_analyses/type_inference/typeInferenceData.ml x: 454 lines of code y: 22 # changes source/interprocedural_analyses/type_inference/typeInferenceLocal.ml x: 1133 lines of code y: 28 # changes source/interprocedural_analyses/taint/accessPath.ml x: 268 lines of code y: 14 # changes source/interprocedural_analyses/taint/accessPath.mli x: 48 lines of code y: 9 # changes source/interprocedural_analyses/taint/sanitizeTransform.ml x: 36 lines of code y: 4 # changes source/interprocedural_analyses/taint/modelParser.mli x: 198 lines of code y: 30 # changes source/interprocedural_analyses/taint/modelQuery/modelQuery.ml x: 755 lines of code y: 34 # changes source/analysis/analysis.ml x: 63 lines of code y: 10 # changes source/analysis/type.ml x: 5719 lines of code y: 49 # changes source/analysis/type.mli x: 765 lines of code y: 32 # changes source/interprocedural_analyses/taint/modelVerificationError.ml x: 384 lines of code y: 27 # changes source/interprocedural_analyses/taint/modelVerificationError.mli x: 124 lines of code y: 25 # changes source/interprocedural_analyses/taint/modelVerifier.ml x: 384 lines of code y: 18 # changes source/analysis/refinement.ml x: 368 lines of code y: 5 # changes source/interprocedural_analyses/type_inference/typeInferenceLocal.mli x: 44 lines of code y: 10 # changes source/hack_parallel/hack_parallel/heap/hh_shared.c x: 1831 lines of code y: 7 # changes source/server/buildSystem.ml x: 374 lines of code y: 10 # changes source/server/checksumMap.ml x: 74 lines of code y: 2 # changes source/server/checksumMap.mli x: 31 lines of code y: 2 # changes client/commands/infer.py x: 812 lines of code y: 93 # changes source/dune.in x: 184 lines of code y: 10 # changes source/interprocedural_analyses/taint/taintProfiler.ml x: 227 lines of code y: 4 # changes source/timer.ml x: 13 lines of code y: 3 # changes source/buck/builder.ml x: 307 lines of code y: 23 # changes pyre_extensions/__init__.py x: 59 lines of code y: 31 # changes tools/upgrade/ast.py x: 26 lines of code y: 18 # changes client/commands/analyze.py x: 235 lines of code y: 64 # changes source/buck/interface.ml x: 431 lines of code y: 1 # changes tools/upgrade/errors.py x: 588 lines of code y: 55 # changes tools/upgrade/commands/expand_target_coverage.py x: 86 lines of code y: 17 # changes tools/upgrade/commands/fixme_single.py x: 79 lines of code y: 10 # changes tools/upgrade/commands/strict_default.py x: 101 lines of code y: 19 # changes tools/upgrade/commands/command.py x: 163 lines of code y: 20 # changes tools/upgrade/commands/consolidate_nested_configurations.py x: 115 lines of code y: 18 # changes tools/upgrade/commands/fix_configuration.py x: 111 lines of code y: 6 # changes tools/upgrade/commands/support_sqlalchemy.py x: 140 lines of code y: 11 # changes tools/upgrade/commands/targets_to_configuration.py x: 324 lines of code y: 27 # changes source/interprocedural/dependencyGraph.ml x: 278 lines of code y: 13 # changes source/command/checkCommand.ml x: 235 lines of code y: 17 # changes client/commands/incremental.py x: 174 lines of code y: 80 # changes source/interprocedural_analyses/taint/taintReporting.mli x: 28 lines of code y: 6 # changes source/interprocedural_analyses/taint/taintResult.ml x: 43 lines of code y: 26 # changes source/interprocedural_analyses/taint/taintResult.mli x: 10 lines of code y: 15 # changes tools/upgrade/filesystem.py x: 236 lines of code y: 21 # changes source/command/inferCommand.ml x: 171 lines of code y: 22 # changes source/interprocedural_analyses/taint/exitStatus.ml x: 13 lines of code y: 2 # changes source/server/watchman.ml x: 485 lines of code y: 7 # changes source/server/watchman.mli x: 145 lines of code y: 4 # changes source/interprocedural_analyses/taint/features.ml x: 420 lines of code y: 30 # changes source/interprocedural/analysisResult.ml x: 247 lines of code y: 6 # changes source/jsonParsing.mli x: 90 lines of code y: 4 # changes api/query.py x: 250 lines of code y: 19 # changes source/command/serverCommand.ml x: 193 lines of code y: 5 # changes source/analysis/moduleTracker.ml x: 436 lines of code y: 10 # changes client/error.py x: 387 lines of code y: 36 # changes source/new_parser/pyreNewParser.ml x: 1014 lines of code y: 16 # changes source/ast/source.ml x: 271 lines of code y: 10 # changes tools/pysa_integration_tests/utils.py x: 137 lines of code y: 6 # changes source/domains/abstractProductDomain.ml x: 365 lines of code y: 14 # changes source/analysis/preprocessing.ml x: 3925 lines of code y: 53 # changes scripts/pypi/setup.py x: 118 lines of code y: 12 # changes source/parser/generator.mly x: 1796 lines of code y: 20 # changes source/analysis/globalResolution.ml x: 495 lines of code y: 11 # changes source/analysis/scope.ml x: 739 lines of code y: 21 # changes source/ast/module.ml x: 219 lines of code y: 8 # changes client/recently_used_configurations.py x: 93 lines of code y: 9 # changes api/connection.py x: 104 lines of code y: 12 # changes client/commands/__init__.py x: 24 lines of code y: 32 # changes client/commands/async_server_connection.py x: 212 lines of code y: 2 # changes client/commands/check.py x: 172 lines of code y: 61 # changes client/commands/coverage.py x: 70 lines of code y: 9 # changes client/commands/initialize.py x: 180 lines of code y: 47 # changes client/commands/kill.py x: 83 lines of code y: 58 # changes client/commands/profile.py x: 343 lines of code y: 34 # changes client/commands/pysa_server.py x: 276 lines of code y: 3 # changes client/commands/query.py x: 73 lines of code y: 34 # changes client/commands/rage.py x: 183 lines of code y: 36 # changes client/commands/restart.py x: 18 lines of code y: 42 # changes client/commands/server_event.py x: 113 lines of code y: 2 # changes client/commands/servers.py x: 191 lines of code y: 27 # changes client/commands/start.py x: 396 lines of code y: 103 # changes client/commands/statistics.py x: 270 lines of code y: 56 # changes client/commands/stop.py x: 49 lines of code y: 40 # changes client/coverage_collector.py x: 86 lines of code y: 11 # changes client/exceptions.py x: 2 lines of code y: 4 # changes client/filesystem.py x: 184 lines of code y: 66 # changes client/json_rpc.py x: 186 lines of code y: 20 # changes client/log/log.py x: 272 lines of code y: 18 # changes client/statistics_collectors.py x: 331 lines of code y: 24 # changes pyre_extensions/type_variable_operators.py x: 15 lines of code y: 11 # changes scripts/download_typeshed.py x: 222 lines of code y: 6 # changes scripts/explore_pysa_models.py x: 266 lines of code y: 6 # changes scripts/virtual_environment.py x: 56 lines of code y: 3 # changes source/analysis/annotatedAttribute.ml x: 186 lines of code y: 4 # changes source/analysis/annotatedBases.ml x: 71 lines of code y: 3 # changes source/analysis/annotatedDefine.ml x: 134 lines of code y: 7 # changes source/analysis/annotation.ml x: 132 lines of code y: 4 # changes source/analysis/attributeResolution.mli x: 236 lines of code y: 7 # changes source/analysis/classHierarchy.ml x: 403 lines of code y: 12 # changes source/analysis/classHierarchyEnvironment.ml x: 225 lines of code y: 5 # changes source/analysis/constraintsSet.ml x: 1100 lines of code y: 18 # changes source/analysis/environment.mli x: 113 lines of code y: 3 # changes source/analysis/functionDefinition.ml x: 188 lines of code y: 9 # changes source/analysis/globalResolution.mli x: 192 lines of code y: 10 # changes source/analysis/indexTracker.ml x: 80 lines of code y: 4 # changes source/analysis/inlineDecorator.ml x: 795 lines of code y: 4 # changes source/analysis/localAnnotationMap.ml x: 101 lines of code y: 5 # changes source/analysis/localAnnotationMap.mli x: 23 lines of code y: 5 # changes source/analysis/managedCache.ml x: 81 lines of code y: 2 # changes source/analysis/preprocessing.mli x: 87 lines of code y: 16 # changes source/analysis/resolution.ml x: 346 lines of code y: 14 # changes source/analysis/resolution.mli x: 88 lines of code y: 8 # changes source/analysis/signatureSelectionTypes.ml x: 82 lines of code y: 9 # changes source/analysis/typeConstraints.ml x: 663 lines of code y: 9 # changes source/analysis/typeConstraints.mli x: 49 lines of code y: 5 # changes source/analysis/typeOrder.ml x: 642 lines of code y: 16 # changes source/analysis/weakenMutableLiterals.ml x: 580 lines of code y: 9 # changes source/ast/reference.ml x: 116 lines of code y: 8 # changes source/ast/reference.mli x: 39 lines of code y: 6 # changes source/ast/transform.ml x: 538 lines of code y: 20 # changes source/ast/unannotatedGlobal.mli x: 54 lines of code y: 2 # changes source/ast/visit.ml x: 479 lines of code y: 20 # changes source/ast/visit.mli x: 90 lines of code y: 6 # changes source/buck/artifacts.ml x: 87 lines of code y: 5 # changes source/buck/buildMap.ml x: 193 lines of code y: 11 # changes source/command/commandStartup.ml x: 175 lines of code y: 3 # changes source/command/commands.ml x: 11 lines of code y: 9 # changes source/data_structures/patriciaTreeSet.ml x: 554 lines of code y: 3 # changes source/domains/abstractBucketedElementSetDomain.ml x: 107 lines of code y: 9 # changes source/domains/abstractFlatDomain.ml x: 140 lines of code y: 8 # changes source/domains/abstractMapDomain.ml x: 363 lines of code y: 11 # changes source/domains/abstractOverUnderSetDomain.ml x: 305 lines of code y: 15 # changes source/domains/abstractSetDomain.ml x: 156 lines of code y: 10 # changes source/domains/abstractToppedSetDomain.ml x: 160 lines of code y: 8 # changes source/hack_parallel/hack_parallel/procs/multiWorker.ml x: 81 lines of code y: 3 # changes source/hack_parallel/hack_parallel/utils/hh_json/hh_json.ml x: 514 lines of code y: 3 # changes source/hack_parallel/hack_parallel/utils/measure.ml x: 273 lines of code y: 3 # changes source/hack_parallel/hack_parallel/utils/string_utils.ml x: 133 lines of code y: 3 # changes source/hack_parallel/hack_parallel/utils/sys_utils.ml x: 398 lines of code y: 3 # changes source/hack_parallel/hack_parallel/utils/timeout.ml x: 410 lines of code y: 3 # changes source/hack_parallel/hack_parallel/utils/utils.ml x: 168 lines of code y: 3 # changes source/interprocedural/dependencyGraph.mli x: 44 lines of code y: 7 # changes source/interprocedural_analyses/taint/lineageAnalysis.ml x: 165 lines of code y: 6 # changes source/interprocedural_analyses/taint/modelQuery/modelQuery.mli x: 30 lines of code y: 8 # changes source/lwtSocketServer.ml x: 151 lines of code y: 3 # changes source/parser/lexer.mll x: 452 lines of code y: 3 # changes source/parser/parserExpression.ml x: 363 lines of code y: 9 # changes source/pyrePath.ml x: 229 lines of code y: 11 # changes source/pyrePath.mli x: 58 lines of code y: 9 # changes source/server/request.ml x: 17 lines of code y: 15 # changes source/server/savedState.ml x: 113 lines of code y: 10 # changes source/service/infer.ml x: 108 lines of code y: 14 # changes source/service/scheduler.ml x: 154 lines of code y: 2 # changes stubs/django/apps.pyi x: 2 lines of code y: 6 # changes stubs/django/contrib/auth/views.pyi x: 6 lines of code y: 5 # changes stubs/mysql/connector/abstracts.pyi x: 182 lines of code y: 2 # changes tools/generate_taint_models/__init__.py x: 171 lines of code y: 42 # changes tools/generate_taint_models/annotated_function_generator.py x: 90 lines of code y: 2 # changes tools/generate_taint_models/function_tainter.py x: 58 lines of code y: 11 # changes tools/generate_taint_models/get_REST_api_sources.py x: 37 lines of code y: 15 # changes tools/generate_taint_models/get_exit_nodes.py x: 33 lines of code y: 14 # changes tools/generate_taint_models/get_filtered_sources.py x: 23 lines of code y: 13 # changes tools/generate_taint_models/get_globals.py x: 224 lines of code y: 21 # changes tools/generate_taint_models/get_graphql_sources.py x: 68 lines of code y: 20 # changes tools/generate_taint_models/get_request_specific_data.py x: 30 lines of code y: 9 # changes tools/generate_taint_models/inspect_parser.py x: 57 lines of code y: 12 # changes tools/generate_taint_models/model.py x: 300 lines of code y: 25 # changes tools/generate_taint_models/view_generator.py x: 30 lines of code y: 10 # changes tools/incremental_test/batch.py x: 148 lines of code y: 2 # changes tools/incremental_test/runner.py x: 250 lines of code y: 3 # changes tools/incremental_test/specification.py x: 316 lines of code y: 3 # changes tools/upgrade/commands/codemods.py x: 150 lines of code y: 13 # changes tools/upgrade/commands/fixme.py x: 62 lines of code y: 16 # changes tools/upgrade/repository.py x: 36 lines of code y: 11 # changes stubs/mysql/__init__.pyi x: 1 lines of code y: 1 # changes
256.0
# changes
  min: 1.0
  average: 9.52
  25th percentile: 3.0
  median: 4.0
  75th percentile: 8.0
  max: 256.0
0 6912.0
lines of code
min: 1.0 | average: 173.86 | 25th percentile: 14.0 | median: 44.0 | 75th percentile: 141.0 | max: 6912.0

Number of Contributors vs. Number of Changes: 706 points

source/hack_parallel/hack_parallel/heap/sharedMemory.ml x: 2 # contributors y: 3 # changes source/analysis/astEnvironment.ml x: 7 # contributors y: 22 # changes source/analysis/astEnvironment.mli x: 6 # contributors y: 8 # changes source/server/query.ml x: 10 # contributors y: 34 # changes source/interprocedural/fixpointAnalysis.ml x: 5 # contributors y: 12 # changes source/analysis/typeEnvironment.ml x: 3 # contributors y: 3 # changes source/hack_parallel/hack_parallel/heap/sharedMemory.mli x: 2 # contributors y: 2 # changes source/interprocedural/fixpointState.ml x: 3 # contributors y: 5 # changes source/interprocedural/fixpointState.mli x: 3 # contributors y: 4 # changes source/interprocedural_analyses/taint/taintAnalysis.ml x: 11 # contributors y: 47 # changes source/ast/expression.ml x: 10 # contributors y: 23 # changes source/ast/expression.mli x: 8 # contributors y: 17 # changes source/interprocedural/classInterval.ml x: 1 # contributors y: 3 # changes source/interprocedural_analyses/taint/backwardAnalysis.ml x: 17 # contributors y: 91 # changes source/interprocedural_analyses/taint/forwardAnalysis.ml x: 17 # contributors y: 93 # changes source/interprocedural_analyses/taint/callModel.ml x: 4 # contributors y: 10 # changes source/interprocedural_analyses/taint/callModel.mli x: 3 # contributors y: 7 # changes source/interprocedural_analyses/taint/domains.ml x: 10 # contributors y: 47 # changes source/interprocedural_analyses/taint/globalModel.ml x: 4 # contributors y: 8 # changes source/interprocedural_analyses/taint/globalModel.mli x: 3 # contributors y: 6 # changes source/command/analyzeCommand.ml x: 10 # contributors y: 43 # changes source/service/staticAnalysis.ml x: 9 # contributors y: 40 # changes source/service/staticAnalysis.mli x: 7 # contributors y: 18 # changes source/interprocedural_analyses/taint/issue.ml x: 2 # contributors y: 11 # changes source/interprocedural_analyses/taint/taintConfiguration.ml x: 7 # contributors y: 20 # changes source/interprocedural_analyses/taint/taintConfiguration.mli x: 5 # contributors y: 14 # changes source/interprocedural_analyses/taint/taintTransforms.ml x: 2 # contributors y: 5 # changes source/interprocedural_analyses/taint/taintTransform.ml x: 2 # contributors y: 7 # changes source/interprocedural_analyses/taint/annotationParser.ml x: 4 # contributors y: 6 # changes source/interprocedural_analyses/taint/sinks.ml x: 6 # contributors y: 18 # changes source/interprocedural_analyses/taint/sources.ml x: 4 # contributors y: 15 # changes source/interprocedural/interprocedural.ml x: 5 # contributors y: 8 # changes source/interprocedural_analyses/taint/taint.ml x: 8 # contributors y: 21 # changes source/hack_parallel/hack_parallel/procs/worker.ml x: 4 # contributors y: 5 # changes source/interprocedural_analyses/taint/taintReporting.ml x: 5 # contributors y: 15 # changes source/profiling.ml x: 4 # contributors y: 7 # changes source/analysis/aliasEnvironment.ml x: 5 # contributors y: 16 # changes source/interprocedural/callGraph.ml x: 9 # contributors y: 35 # changes source/interprocedural/callGraph.mli x: 5 # contributors y: 17 # changes stubs/integration_test/run.py x: 5 # contributors y: 7 # changes client/commands/backend_arguments.py x: 3 # contributors y: 8 # changes client/configuration.py x: 20 # contributors y: 165 # changes source/analysis/callgraph.mli x: 5 # contributors y: 5 # changes source/analysis/typeCheck.ml x: 13 # contributors y: 88 # changes source/configuration.ml x: 10 # contributors y: 28 # changes source/configuration.mli x: 9 # contributors y: 25 # changes source/interprocedural_analyses/taint/modelParser.ml x: 13 # contributors y: 79 # changes source/analysis/cfg.ml x: 7 # contributors y: 19 # changes source/interprocedural_analyses/taint/sinks.mli x: 5 # contributors y: 13 # changes source/interprocedural_analyses/taint/sources.mli x: 4 # contributors y: 11 # changes client/find_directories.py x: 6 # contributors y: 21 # changes source/analysis/attributeResolution.ml x: 10 # contributors y: 42 # changes client/commands/commands.py x: 4 # contributors y: 4 # changes client/libcst_vendored_visitors/_gather_global_names.py x: 1 # contributors y: 1 # changes scripts/pypi/build_pypi_package.py x: 13 # contributors y: 29 # changes source/interprocedural_analyses/taint/model.ml x: 10 # contributors y: 40 # changes client/commands/persistent.py x: 13 # contributors y: 58 # changes client/command_arguments.py x: 6 # contributors y: 40 # changes client/pyre.py x: 27 # contributors y: 256 # changes tools/upgrade/configuration.py x: 8 # contributors y: 20 # changes tools/upgrade/upgrade.py x: 9 # contributors y: 71 # changes source/analysis/locationBasedLookup.ml x: 1 # contributors y: 2 # changes source/server/query.mli x: 7 # contributors y: 15 # changes source/statistics.ml x: 6 # contributors y: 12 # changes source/ast/location.ml x: 5 # contributors y: 6 # changes source/ast/statement.ml x: 8 # contributors y: 30 # changes source/ast/statement.mli x: 7 # contributors y: 23 # changes source/analysis/analysisError.ml x: 9 # contributors y: 42 # changes source/analysis/analysisError.mli x: 8 # contributors y: 24 # changes source/server/start.ml x: 4 # contributors y: 12 # changes source/analysis/postprocessing.ml x: 5 # contributors y: 11 # changes source/analysis/uninitializedLocalCheck.ml x: 7 # contributors y: 29 # changes source/interprocedural_analyses/type_inference/typeInferenceData.ml x: 4 # contributors y: 22 # changes source/interprocedural_analyses/type_inference/typeInferenceLocal.ml x: 6 # contributors y: 28 # changes source/interprocedural_analyses/taint/accessPath.ml x: 9 # contributors y: 14 # changes source/interprocedural_analyses/taint/accessPath.mli x: 6 # contributors y: 9 # changes source/interprocedural_analyses/taint/modelQuery/modelQuery.ml x: 9 # contributors y: 34 # changes source/analysis/analysis.ml x: 8 # contributors y: 10 # changes source/analysis/type.ml x: 9 # contributors y: 49 # changes source/analysis/type.mli x: 8 # contributors y: 32 # changes source/interprocedural_analyses/taint/modelVerificationError.ml x: 7 # contributors y: 27 # changes source/interprocedural_analyses/taint/modelVerificationError.mli x: 7 # contributors y: 25 # changes source/interprocedural_analyses/taint/modelVerifier.ml x: 8 # contributors y: 18 # changes source/server/buildSystem.ml x: 3 # contributors y: 10 # changes client/commands/infer.py x: 15 # contributors y: 93 # changes source/buck/buck.mli x: 3 # contributors y: 22 # changes source/buck/builder.ml x: 4 # contributors y: 23 # changes pyre_extensions/__init__.py x: 10 # contributors y: 31 # changes client/commands/analyze.py x: 15 # contributors y: 64 # changes tools/upgrade/errors.py x: 9 # contributors y: 55 # changes tools/upgrade/commands/expand_target_coverage.py x: 3 # contributors y: 17 # changes tools/upgrade/commands/strict_default.py x: 6 # contributors y: 19 # changes tools/upgrade/commands/command.py x: 3 # contributors y: 20 # changes tools/upgrade/commands/consolidate_nested_configurations.py x: 5 # contributors y: 18 # changes tools/upgrade/commands/fix_configuration.py x: 2 # contributors y: 6 # changes tools/upgrade/commands/targets_to_configuration.py x: 6 # contributors y: 27 # changes source/interprocedural/dependencyGraph.ml x: 7 # contributors y: 13 # changes source/command/checkCommand.ml x: 6 # contributors y: 17 # changes client/commands/incremental.py x: 16 # contributors y: 80 # changes source/interprocedural_analyses/taint/taintResult.ml x: 8 # contributors y: 26 # changes source/interprocedural_analyses/taint/taintResult.mli x: 6 # contributors y: 15 # changes tools/upgrade/filesystem.py x: 5 # contributors y: 21 # changes source/command/inferCommand.ml x: 6 # contributors y: 22 # changes source/interprocedural_analyses/taint/features.ml x: 11 # contributors y: 30 # changes source/jsonParsing.mli x: 2 # contributors y: 4 # changes api/query.py x: 12 # contributors y: 19 # changes source/analysis/moduleTracker.ml x: 6 # contributors y: 10 # changes client/error.py x: 13 # contributors y: 36 # changes source/new_parser/pyreNewParser.ml x: 3 # contributors y: 16 # changes source/analysis/preprocessing.ml x: 10 # contributors y: 53 # changes scripts/pypi/setup.py x: 11 # contributors y: 12 # changes source/parser/generator.mly x: 4 # contributors y: 20 # changes source/analysis/globalResolution.ml x: 6 # contributors y: 11 # changes api/connection.py x: 7 # contributors y: 12 # changes client/commands/__init__.py x: 10 # contributors y: 32 # changes client/commands/check.py x: 12 # contributors y: 61 # changes client/commands/coverage.py x: 3 # contributors y: 9 # changes client/commands/initialize.py x: 8 # contributors y: 47 # changes client/commands/kill.py x: 12 # contributors y: 58 # changes client/commands/query.py x: 8 # contributors y: 34 # changes client/commands/rage.py x: 12 # contributors y: 36 # changes client/commands/servers.py x: 5 # contributors y: 27 # changes client/commands/start.py x: 17 # contributors y: 103 # changes client/commands/statistics.py x: 10 # contributors y: 56 # changes client/commands/stop.py x: 12 # contributors y: 40 # changes client/coverage_collector.py x: 3 # contributors y: 11 # changes client/filesystem.py x: 12 # contributors y: 66 # changes client/statistics_collectors.py x: 5 # contributors y: 24 # changes pyre_extensions/safe_json.py x: 9 # contributors y: 11 # changes source/analysis/functionDefinition.ml x: 5 # contributors y: 9 # changes source/analysis/preprocessing.mli x: 6 # contributors y: 16 # changes source/command/commands.ml x: 4 # contributors y: 9 # changes source/domains/abstractDomainCore.ml x: 5 # contributors y: 10 # changes source/interprocedural/callResolution.ml x: 7 # contributors y: 8 # changes source/service/infer.ml x: 6 # contributors y: 14 # changes stubs/django/contrib/auth/__init__.pyi x: 6 # contributors y: 7 # changes stubs/django/http/__init__.pyi x: 6 # contributors y: 6 # changes stubs/django/http/response.pyi x: 8 # contributors y: 9 # changes stubs/lxml/etree.pyi x: 7 # contributors y: 7 # changes tools/generate_taint_models/__init__.py x: 17 # contributors y: 42 # changes tools/generate_taint_models/get_annotated_free_functions_with_decorator.py x: 7 # contributors y: 21 # changes tools/generate_taint_models/get_dynamic_graphql_sources.py x: 6 # contributors y: 5 # changes tools/generate_taint_models/get_globals.py x: 11 # contributors y: 21 # changes tools/generate_taint_models/get_graphql_sources.py x: 9 # contributors y: 20 # changes tools/generate_taint_models/inspect_parser.py x: 9 # contributors y: 12 # changes tools/generate_taint_models/model.py x: 14 # contributors y: 25 # changes tools/upgrade/commands/fixme.py x: 4 # contributors y: 16 # changes
256.0
# changes
  min: 1.0
  average: 9.52
  25th percentile: 3.0
  median: 4.0
  75th percentile: 8.0
  max: 256.0
0 27.0
# contributors
min: 1.0 | average: 4.19 | 25th percentile: 2.0 | median: 4.0 | 75th percentile: 5.0 | max: 27.0