facebook / pyre-check
File Age

File age measurements show the distribution of file ages (days since the first commit) and the recency of file updates (days since the latest commit).

Summary
  • Number of files: 706
  • Daily file updates (only one update per file and date counted): 4869
  • First update: 2018-05-07
  • Latest update: 2022-03-31
  • Days between first and latest update: 1425 (203 weeks, estimated 1015 working days)
  • Active days (at least one file change): 1154
  • Data:
File Change History Overall
File Age Distribution Overall
Days since first update
  • There are 706 files with 122,743 lines of code in files.
    • 575 files that are 366+ days old (102,582 lines of code)
    • 77 files that are 181-365 days old (11,240 lines of code)
    • 31 files that are 91-180 days old (4,890 lines of code)
    • 19 files that are 31-90 days old (2,591 lines of code)
    • 4 files that are 1-30 days old (1,440 lines of code)
83% | 9% | 3% | 2% | 1%
Legend:
366+
181-365
91-180
31-90
1-30

explore: zoomable circles
Latest Change Distribution Overall
Days since last update
  • There are 706 files with 122,743 lines of code in files.
    • 25 files have been last changed 366+ days ago (25 lines of code)
    • 1 files have been last changed 181-365 days ago (1 lines of code)
    • 486 files have been last changed 91-180 days ago (40,829 lines of code)
    • 134 files have been last changed 31-90 days ago (58,423 lines of code)
    • 60 files have been last changed 1-30 days ago (23,465 lines of code)
<1% | <1% | 33% | 47% | 19%
Legend:
366+
181-365
91-180
31-90
1-30

explore: zoomable circles
File Change History 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 Age Distribution per Extension
Days since first update
366+
181-365
91-180
31-90
1-30
ml83% | 9% | 2% | 2% | 1%
py81% | 4% | 12% | 1% | 0%
mli78% | 13% | 2% | 2% | 2%
c100% | 0% | 0% | 0% | 0%
mly100% | 0% | 0% | 0% | 0%
pyi80% | 19% | 0% | 0% | 0%
mll100% | 0% | 0% | 0% | 0%
in100% | 0% | 0% | 0% | 0%
ts100% | 0% | 0% | 0% | 0%
h100% | 0% | 0% | 0% | 0%
toml0% | 100% | 0% | 0% | 0%
Latest Change Distribution per Extension
Days since last update
366+
181-365
91-180
31-90
1-30
pyi1% | <1% | 98% | 0% | 0%
py<1% | 0% | 42% | 47% | 10%
ml0% | 0% | 26% | 49% | 23%
mli0% | 0% | 43% | 40% | 16%
mly0% | 0% | 100% | 0% | 0%
mll0% | 0% | 100% | 0% | 0%
c0% | 0% | 16% | 83% | 0%
ts0% | 0% | 100% | 0% | 0%
h0% | 0% | 100% | 0% | 0%
toml0% | 0% | 100% | 0% | 0%
in0% | 0% | 0% | 100% | 0%
File Change History per Logical Decomposition
primary
primary (file age distribution)
Days since first update
366+
181-365
91-180
31-90
1-30
source/analysis94% | 1% | 2% | 1% | 0%
source/interprocedural_analyses71% | 19% | 3% | 4% | 0%
source/ast100% | 0% | 0% | 0% | 0%
source/hack_parallel84% | 0% | 0% | 0% | 15%
client/commands73% | 1% | 24% | 0% | 0%
client95% | 3% | 0% | <1% | 0%
source/domains100% | 0% | 0% | 0% | 0%
tools/upgrade98% | 0% | 0% | 1% | 0%
source/parser100% | 0% | 0% | 0% | 0%
source/interprocedural52% | 39% | 0% | 3% | 4%
source86% | 13% | 0% | 0% | 0%
source/service91% | 8% | 0% | 0% | 0%
tools/generate_taint_models100% | 0% | 0% | 0% | 0%
stubs/django99% | <1% | 0% | 0% | 0%
source/buck74% | 0% | 0% | 25% | 0%
source/server30% | 64% | <1% | 4% | 0%
tools/incremental_test100% | 0% | 0% | 0% | 0%
scripts65% | 34% | 0% | 0% | 0%
source/command67% | 0% | 32% | 0% | 0%
source/data_structures100% | 0% | 0% | 0% | 0%
scripts/pypi100% | 0% | 0% | 0% | 0%
api100% | 0% | 0% | 0% | 0%
client/log100% | 0% | 0% | 0% | 0%
stubs/integration_test85% | 14% | 0% | 0% | 0%
pyre_extensions92% | 0% | 7% | 0% | 0%
tools/ide_plugins100% | 0% | 0% | 0% | 0%
stubs/lxml100% | 0% | 0% | 0% | 0%
stubs/rest_framework100% | 0% | 0% | 0% | 0%
ROOT2% | 97% | 0% | 0% | 0%
source/new_parser0% | 100% | 0% | 0% | 0%
stubs/mysql0% | 100% | 0% | 0% | 0%
tools/pysa_integration_tests0% | 100% | 0% | 0% | 0%
client/libcst_vendored_visitors0% | 0% | 95% | 4% | 0%
tools/playground0% | 0% | 0% | 100% | 0%
primary (latest change distribution)
Days since last update
366+
181-365
91-180
31-90
1-30
stubs/django1% | 0% | 98% | 0% | 0%
ROOT2% | 0% | 97% | 0% | 0%
stubs/mysql0% | <1% | 99% | 0% | 0%
source/analysis0% | 0% | 32% | 64% | 3%
source/hack_parallel0% | 0% | 55% | 23% | 21%
client/commands0% | 0% | 44% | 51% | 4%
source/parser0% | 0% | 100% | 0% | 0%
source/domains0% | 0% | 71% | 0% | 28%
source/ast0% | 0% | 25% | 39% | 35%
tools/generate_taint_models0% | 0% | 100% | 0% | 0%
source0% | 0% | 46% | 48% | 4%
source/server0% | 0% | 25% | 51% | 22%
client0% | 0% | 23% | 41% | 34%
tools/incremental_test0% | 0% | 100% | 0% | 0%
scripts0% | 0% | 59% | 18% | 22%
source/data_structures0% | 0% | 100% | 0% | 0%
source/interprocedural_analyses0% | 0% | 3% | 48% | 48%
source/service0% | 0% | 21% | 5% | 72%
source/interprocedural0% | 0% | 8% | 24% | 67%
tools/upgrade0% | 0% | 13% | 86% | 0%
source/buck0% | 0% | 17% | 82% | 0%
client/log0% | 0% | 100% | 0% | 0%
source/command0% | 0% | 18% | 54% | 27%
stubs/integration_test0% | 0% | 69% | 0% | 30%
scripts/pypi0% | 0% | 33% | 66% | 0%
pyre_extensions0% | 0% | 67% | 32% | 0%
api0% | 0% | 29% | 70% | 0%
tools/ide_plugins0% | 0% | 100% | 0% | 0%
source/new_parser0% | 0% | 5% | 94% | 0%
stubs/lxml0% | 0% | 100% | 0% | 0%
stubs/rest_framework0% | 0% | 100% | 0% | 0%
client/libcst_vendored_visitors0% | 0% | 0% | 100% | 0%
tools/pysa_integration_tests0% | 0% | 0% | 100% | 0%
tools/playground0% | 0% | 0% | 100% | 0%
Oldest Files (Top 50)
File# lines# unitslast modified
(days ago)
created
(days ago)
# changes# contributors
pyi
__init__.pyi
in stubs/django/db/models/fields
231 9 101 1432 7 5
pyi
request.pyi
in stubs/django/http
145 34 101 1432 8 7
pyi
response.pyi
in stubs/django/http
72 26 101 1432 9 8
pyi
__init__.pyi
in stubs/django/db/models
56 2 101 1432 8 6
pyi
urlresolvers.pyi
in stubs/django/core
55 8 101 1432 6 4
pyi
uploadedfile.pyi
in stubs/django/core/files
32 4 101 1432 4 4
pyi
encoding.pyi
in stubs/django/utils
26 7 101 1432 4 4
pyi
__init__.pyi
in stubs/django/http
22 - 101 1432 6 6
pyi
exceptions.pyi
in stubs/django/core
21 2 101 1432 5 4
pyi
__init__.pyi
in stubs/django/contrib/gis/geos
19 6 101 1432 4 4
pyi
__init__.pyi
in stubs/django/core/mail
18 1 101 1432 6 5
pyi
models.pyi
in stubs/django/contrib/auth
18 3 101 1432 7 5
pyi
__init__.pyi
in stubs/django/contrib/auth
17 6 101 1432 7 6
pyi
csrf.pyi
in stubs/django/middleware
16 4 101 1432 4 4
pyi
shortcuts.pyi
in stubs/django
13 3 101 1432 5 4
pyi
trans_real.pyi
in stubs/django/utils/translation
13 10 101 1432 5 4
pyi
__init__.pyi
in stubs/django/forms
12 - 101 1432 5 5
pyi
validators.pyi
in stubs/django/core
12 4 101 1432 4 4
pyi
aggregates.pyi
in stubs/django/db
9 - 101 1432 4 4
pyi
__init__.pyi
in stubs/django/conf
9 2 101 1432 4 4
pyi
http.pyi
in stubs/django/utils
8 7 101 1432 5 4
pyi
__init__.pyi
in stubs/django/core/handlers/wsgi
6 1 101 1432 4 4
pyi
views.pyi
in stubs/django/contrib/auth
6 2 101 1432 5 5
pyi
defaultfilters.pyi
in stubs/django/template
5 4 101 1432 4 4
pyi
html.pyi
in stubs/django/utils
5 4 101 1432 4 4
pyi
cache.pyi
in stubs/django/utils
5 1 101 1432 4 4
pyi
storage.pyi
in stubs/django/core/files
4 - 101 1432 4 4
pyi
termcolors.pyi
in stubs/django/utils
4 1 101 1432 4 4
pyi
text.pyi
in stubs/django/utils
4 3 101 1432 5 4
pyi
safestring.pyi
in stubs/django/utils
4 1 101 1432 4 4
pyi
signals.pyi
in stubs/django/contrib/auth
4 - 101 1432 4 4
pyi
context_processors.pyi
in stubs/django/core
3 1 101 1432 4 4
pyi
base.pyi
in stubs/django/core/files
3 - 101 1432 4 4
pyi
datastructures.pyi
in stubs/django/utils
3 1 101 1432 4 4
pyi
utils.pyi
in stubs/django/forms
2 1 101 1432 3 3
pyi
utils.pyi
in stubs/django/core/files
2 - 101 1432 4 4
pyi
itercompat.pyi
in stubs/django/utils
2 1 101 1432 4 4
pyi
trans_null.pyi
in stubs/django/utils/translation
2 1 101 1432 4 4
pyi
crypto.pyi
in stubs/django/utils
2 2 101 1432 4 4
persistent.py
in client/commands
1551 26 42 1429 58 13
1425 88 30 1429 165 20
pyre.py
in client
1008 31 42 1429 256 27
start.py
in client/commands
396 18 101 1429 103 17
error.py
in client
387 35 78 1429 36 13
analyze.py
in client/commands
235 8 63 1429 64 15
filesystem.py
in client
184 21 101 1429 66 12
rage.py
in client/commands
183 17 101 1429 36 12
initialize.py
in client/commands
180 5 101 1429 47 8
incremental.py
in client/commands
174 10 70 1429 80 16
check.py
in client/commands
172 8 101 1429 61 12
Files Not Recently Changed (Top 50)
File# lines# unitslast modified
(days ago)
created
(days ago)
# changes# contributors
1 - 636 833 2 2
pyi
__init__.pyi
in stubs/django/core/files
1 - 636 837 2 2
pyi
__init__.pyi
in stubs/django/views/generic
1 - 525 525 1 1
pyi
__init__.pyi
in stubs/django/views
1 - 525 525 1 1
pyi
__init__.pyi
in stubs/django/db/models/sql
1 - 525 525 1 1
__init__.py
in stubs/django/db/backends/base
1 - 525 525 1 1
pyi
__init__.pyi
in stubs/django/db/backends/base
1 - 525 525 1 1
pyi
__init__.pyi
in stubs/django/db/backends/mysql
1 - 525 525 1 1
pyi
__init__.pyi
in stubs/django/db/backends
1 - 525 525 1 1
pyi
__init__.pyi
in stubs/django/contrib/admindocs
1 - 525 525 1 1
pyi
__init__.pyi
in stubs/django/contrib/gis
1 - 525 525 1 1
pyi
__init__.pyi
in stubs/django/contrib/sessions/backends
1 - 525 525 1 1
pyi
__init__.pyi
in stubs/django/contrib/sessions
1 - 525 525 1 1
pyi
__init__.pyi
in stubs/django/contrib/postgres
1 - 525 525 1 1
pyi
__init__.pyi
in stubs/django/contrib
1 - 525 525 1 1
pyi
__init__.pyi
in stubs/django/utils/six/moves/urllib
1 - 525 525 1 1
pyi
__init__.pyi
in stubs/django/utils/six/moves
1 - 525 525 1 1
pyi
__init__.pyi
in stubs/django/utils
1 - 525 525 1 1
pyi
__init__.pyi
in stubs/django/template/backends
1 - 525 525 1 1
pyi
__init__.pyi
in stubs/django/core/servers
1 - 525 525 1 1
pyi
__init__.pyi
in stubs/django/core/handlers
1 - 525 525 1 1
pyi
__init__.pyi
in stubs/django/core/management/commands
1 - 525 525 1 1
pyi
__init__.pyi
in stubs/django/core/mail/backends
1 - 525 525 1 1
pyi
__init__.pyi
in stubs/django/core
1 - 525 525 1 1
pyi
__init__.pyi
in stubs/django/middleware
1 - 525 525 1 1
pyi
__init__.pyi
in stubs/mysql
1 - 350 350 1 1
35 - 178 267 3 3
version.py
in client
1 - 101 1410 3 3
pyi
unstubbed.pyi
in stubs/lxml
1 1 101 1066 5 5
pyi
subclassing.pyi
in stubs/django/db/models/fields
1 - 101 837 3 3
pyi
views.pyi
in stubs/django/contrib/admindocs
1 1 101 837 3 3
pyi
__init__.pyi
in stubs/django/dispatch
1 - 101 837 4 4
pyi
checks.pyi
in stubs/django/core
1 1 101 837 3 3
__init__.py
in stubs/rest_framework
1 - 101 688 3 3
exceptions.py
in client
2 - 101 1360 4 4
__init__.py
in tools/upgrade
2 - 101 704 3 3
pyi
views.pyi
in stubs/django
2 1 101 837 6 5
pyi
wsgi.pyi
in stubs/django/conf
2 1 101 837 6 5
pyi
where.pyi
in stubs/django/db/models/sql
2 1 101 837 6 5
pyi
related.pyi
in stubs/django/db/models/fields
2 1 101 837 6 5
pyi
signals.pyi
in stubs/django/db/models
2 1 101 837 6 5
pyi
query.pyi
in stubs/django/db/models
2 1 101 837 6 5
pyi
options.pyi
in stubs/django/db/models
2 - 101 837 3 3
pyi
expressions.pyi
in stubs/django/db
2 1 101 837 3 3
pyi
__init__.pyi
in stubs/django/db/migrations
2 1 101 520 2 2
pyi
converters.pyi
in stubs/django/urls
2 1 101 837 6 5
pyi
utils.pyi
in stubs/django/urls
2 1 101 837 6 5
pyi
resolvers.pyi
in stubs/django/urls
2 1 101 837 6 5
pyi
exceptions.pyi
in stubs/django/urls
2 1 101 837 6 5
pyi
utils.pyi
in stubs/django/http
2 1 101 837 3 3
Most Recently Created Files (Top 50)
File# lines# unitslast modified
(days ago)
created
(days ago)
# changes# contributors
ml
classInterval.ml
in source/interprocedural
140 - 21 24 3 1
mli
classInterval.mli
in source/interprocedural
47 - 21 24 3 1
ml
sharedMemory.ml
in source/hack_parallel/hack_parallel/heap
1056 - 15 25 3 2
mli
sharedMemory.mli
in source/hack_parallel/hack_parallel/heap
197 - 17 25 2 2
_gather_global_names.py
in client/libcst_vendored_visitors
36 7 37 37 1 1
ml
classHierarchyGraph.ml
in source/interprocedural
108 - 29 38 3 1
mli
classHierarchyGraph.mli
in source/interprocedural
25 - 29 38 3 1
pysa_version_update.py
in tools/upgrade/commands
52 4 43 43 1 1
ml
locationBasedLookup.ml
in source/analysis
602 - 43 49 2 1
mli
locationBasedLookup.mli
in source/analysis
49 - 43 49 2 1
45 - 45 49 2 1
27 - 43 49 3 1
application.py
in tools/playground
198 7 37 57 3 2
wsgi.py
in tools/playground
2 - 37 57 2 2
ml
interface.ml
in source/buck
431 - 65 65 1 1
timer.py
in client
30 6 63 70 2 2
ml
issue.ml
in source/interprocedural_analyses/taint
690 - 21 71 11 2
mli
issue.mli
in source/interprocedural_analyses/taint
96 - 45 71 5 2
ml
taintTransforms.ml
in source/interprocedural_analyses/taint
53 - 21 74 5 2
mli
taintTransforms.mli
in source/interprocedural_analyses/taint
29 - 21 74 5 2
ml
checksumMap.ml
in source/server
74 - 57 77 2 1
mli
checksumMap.mli
in source/server
31 - 57 77 2 1
ml
exitStatus.ml
in source/interprocedural_analyses/taint
13 - 73 79 2 1
ml
callModel.ml
in source/interprocedural_analyses/taint
218 - 21 129 10 4
ml
classModels.ml
in source/interprocedural_analyses/taint
141 - 35 129 6 4
ml
missingFlow.ml
in source/interprocedural_analyses/taint
61 - 101 129 3 2
mli
callModel.mli
in source/interprocedural_analyses/taint
53 - 21 129 7 3
mli
missingFlow.mli
in source/interprocedural_analyses/taint
13 - 101 129 2 2
mli
classModels.mli
in source/interprocedural_analyses/taint
10 - 76 129 3 3
ml
globalModel.ml
in source/interprocedural_analyses/taint
131 - 21 130 8 4
mli
globalModel.mli
in source/interprocedural_analyses/taint
24 - 21 130 6 3
ml
serverProperties.ml
in source/server
21 - 101 134 2 2
refinement.py
in pyre_extensions
13 3 101 143 2 1
ml
serverCommand.ml
in source/command
193 - 78 144 5 3
ml
commandStartup.ml
in source/command
175 - 101 144 3 3
mli
serverCommand.mli
in source/command
23 - 101 144 2 2
ml
refinement.ml
in source/analysis
368 - 56 147 5 2
mli
refinement.mli
in source/analysis
65 - 101 147 4 2
ml
inlineDecorator.ml
in source/analysis
795 - 101 150 4 3
mli
inlineDecorator.mli
in source/analysis
48 - 30 150 4 3
language_server_protocol.py
in client/commands
450 24 42 156 4 4
backend_arguments.py
in client/commands
296 26 30 156 8 3
pysa_server.py
in client/commands
276 2 101 156 3 2
async_server_connection.py
in client/commands
212 12 101 156 2 2
server_event.py
in client/commands
113 7 101 156 2 2
remote_logging.py
in client/commands
104 4 70 156 3 2
initialize_pysa.py
in client/commands
69 1 101 156 2 2
location_lookup.py
in client/commands
45 4 101 156 2 2
server_connection.py
in client/commands
44 5 101 156 2 2
commands.py
in client/commands
21 1 36 156 4 4
Most Recently Changed Files (Top 50)
File# lines# unitslast modified
(days ago)
created
(days ago)
# changes# contributors
ml
sharedMemory.ml
in source/hack_parallel/hack_parallel/heap
1056 - 15 25 3 2
ml
query.ml
in source/server
902 - 16 514 34 10
ml
astEnvironment.ml
in source/analysis
473 - 16 514 22 7
mli
astEnvironment.mli
in source/analysis
71 - 16 514 8 6
ml
fixpointAnalysis.ml
in source/interprocedural
674 - 17 269 12 5
ml
taintAnalysis.ml
in source/interprocedural_analyses/taint
385 - 17 514 47 11
mli
sharedMemory.mli
in source/hack_parallel/hack_parallel/heap
197 - 17 25 2 2
ml
fixpointState.ml
in source/interprocedural
125 - 17 269 5 3
ml
typeEnvironment.ml
in source/analysis
97 - 17 514 3 3
mli
fixpointState.mli
in source/interprocedural
53 - 17 269 4 3
mli
typeEnvironment.mli
in source/analysis
36 - 17 514 3 3
ml
expression.ml
in source/ast
2135 - 21 514 23 10
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
domains.ml
in source/interprocedural_analyses/taint
1143 - 21 514 47 10
ml
taintConfiguration.ml
in source/interprocedural_analyses/taint
1132 - 21 352 20 7
ml
staticAnalysis.ml
in source/service
701 - 21 514 40 9
ml
issue.ml
in source/interprocedural_analyses/taint
690 - 21 71 11 2
mli
expression.mli
in source/ast
449 - 21 514 17 8
ml
analyzeCommand.ml
in source/command
331 - 21 514 43 10
ml
callModel.ml
in source/interprocedural_analyses/taint
218 - 21 129 10 4
ml
classInterval.ml
in source/interprocedural
140 - 21 24 3 1
mli
taintConfiguration.mli
in source/interprocedural_analyses/taint
136 - 21 352 14 5
ml
globalModel.ml
in source/interprocedural_analyses/taint
131 - 21 130 8 4
mli
staticAnalysis.mli
in source/service
71 - 21 514 18 7
ml
taintTransforms.ml
in source/interprocedural_analyses/taint
53 - 21 74 5 2
mli
callModel.mli
in source/interprocedural_analyses/taint
53 - 21 129 7 3
mli
classInterval.mli
in source/interprocedural
47 - 21 24 3 1
mli
taintTransforms.mli
in source/interprocedural_analyses/taint
29 - 21 74 5 2
mli
globalModel.mli
in source/interprocedural_analyses/taint
24 - 21 130 6 3
ml
sinks.ml
in source/interprocedural_analyses/taint
184 - 23 514 18 6
ml
sources.ml
in source/interprocedural_analyses/taint
145 - 23 514 15 4
ml
annotationParser.ml
in source/interprocedural_analyses/taint
57 - 23 514 6 4
ml
taintTransform.ml
in source/interprocedural_analyses/taint
25 - 23 197 7 2
mli
taintTransform.mli
in source/interprocedural_analyses/taint
15 - 23 197 7 2
setup.py
in scripts
297 15 24 849 34 10
ml
taint.ml
in source/interprocedural_analyses/taint
30 - 24 514 21 8
ml
interprocedural.ml
in source/interprocedural
19 - 24 514 8 5
ml
worker.ml
in source/hack_parallel/hack_parallel/procs
356 - 25 514 5 4
ml
memory.ml
in source/service
256 - 25 514 15 5
ml
taintReporting.ml
in source/interprocedural_analyses/taint
198 - 25 350 15 5
ml
incrementalCheck.ml
in source/service
179 - 25 183 5 4
ml
profiling.ml
in source
109 - 25 514 7 4
mli
memory.mli
in source/service
86 - 25 514 8 5
mli
worker.mli
in source/hack_parallel/hack_parallel/procs
63 - 25 514 4 3
ml
hack_parallel.ml
in source/hack_parallel
18 - 25 514 4 3
ml
221 - 28 514 5 4
mli
106 - 28 514 4 3
ml
callGraph.ml
in source/interprocedural
1619 - 29 514 35 9
ml
aliasEnvironment.ml
in source/analysis
400 - 29 514 16 5