facebook / tac_plus
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 57 files with 27,217 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)
    • 1 files changed 6-20 times (1,981 lines of code)
    • 56 files changed 1-5 times (25,236 lines of code)
0% | 0% | 0% | 7% | 92%
Legend:
101+
51-100
21-50
6-20
1-5
explore: zoomable circles | data
File Change Frequency per File Extension
c, h, in, m4, spec, md, py, txt, sh, json
File Change Frequency per Extension
The number of recorded file updates
101+
51-100
21-50
6-20
1-5
c0% | 0% | 0% | 19% | 80%
h0% | 0% | 0% | 0% | 100%
in0% | 0% | 0% | 0% | 100%
py0% | 0% | 0% | 0% | 100%
spec0% | 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
tacacs-F4.0.4.280% | 0% | 0% | 7% | 92%
ROOT0% | 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
config.c
in tacacs-F4.0.4.28
1981 - 122 1402 6 4
in
version.h.in
in tacacs-F4.0.4.28
5 - 1159 1402 4 3
spec
57 - 1159 1402 4 3
parse.h
in tacacs-F4.0.4.28
75 - 1270 1402 4 2
parse.c
in tacacs-F4.0.4.28
250 - 1270 1402 4 2
tac_plus.c
in tacacs-F4.0.4.28
891 - 1270 1402 4 2
do_author.c
in tacacs-F4.0.4.28
897 - 1270 1402 4 2
mschap.h
in tacacs-F4.0.4.28
1 - 1270 1402 3 2
expire.h
in tacacs-F4.0.4.28
5 - 1270 1402 3 2
pathsl.h
in tacacs-F4.0.4.28
7 - 1270 1402 3 2
md4.h
in tacacs-F4.0.4.28
11 - 1270 1402 3 2
in
pathsl.h.in
in tacacs-F4.0.4.28
12 - 1159 1402 3 2
md5.h
in tacacs-F4.0.4.28
19 - 1270 1402 3 2
fdes.h
in tacacs-F4.0.4.28
42 - 1270 1402 3 2
expire.c
in tacacs-F4.0.4.28
49 - 1270 1402 3 2
maxsessint.c
in tacacs-F4.0.4.28
60 - 1270 1402 3 2
pw.c
in tacacs-F4.0.4.28
92 - 1270 1402 3 2
encrypt.c
in tacacs-F4.0.4.28
96 - 1270 1402 3 2
hash.c
in tacacs-F4.0.4.28
106 - 1270 1402 3 2
fdes.c
in tacacs-F4.0.4.28
107 - 1270 1402 3 2
sendpass.c
in tacacs-F4.0.4.28
113 - 1270 1402 3 2
spec
tacacs+.spec
in tacacs-F4.0.4.28
113 - 1159 1402 3 3
acct.c
in tacacs-F4.0.4.28
114 - 1270 1402 3 2
in
tac_convert.in
in tacacs-F4.0.4.28
120 - 1159 1402 3 2
default_v0_fn.c
in tacacs-F4.0.4.28
121 - 1270 1402 3 2
report.c
in tacacs-F4.0.4.28
129 - 1270 1402 3 2
des_s_p.h
in tacacs-F4.0.4.28
130 - 1270 1402 3 2
author.c
in tacacs-F4.0.4.28
132 - 1270 1402 3 2
client_count.c
in tacacs-F4.0.4.28
138 11 1270 1402 3 2
skey_fn.c
in tacacs-F4.0.4.28
140 - 1270 1402 3 2
tac_pwd.c
in tacacs-F4.0.4.28
155 - 1270 1402 3 2
aceclnt_fn.c
in tacacs-F4.0.4.28
156 - 1270 1402 3 2
enable.c
in tacacs-F4.0.4.28
161 - 1270 1402 3 2
utils.c
in tacacs-F4.0.4.28
162 - 1270 1402 3 2
md4.c
in tacacs-F4.0.4.28
173 - 1270 1402 3 2
md5.c
in tacacs-F4.0.4.28
221 - 1270 1402 3 2
choose_authen.c
in tacacs-F4.0.4.28
222 - 1270 1402 3 2
sendauth.c
in tacacs-F4.0.4.28
227 - 1270 1402 3 2
in
config.h.in
in tacacs-F4.0.4.28
258 - 1159 1402 3 2
do_acct.c
in tacacs-F4.0.4.28
274 - 1270 1402 3 2
authen.c
in tacacs-F4.0.4.28
322 - 1270 1402 3 2
tacacs.h
in tacacs-F4.0.4.28
333 - 1270 1402 3 2
tac_plus.h
in tacacs-F4.0.4.28
344 - 1270 1402 3 2
programs.c
in tacacs-F4.0.4.28
383 - 1270 1402 3 2
do_auth.py
in tacacs-F4.0.4.28
394 4 1270 1402 3 2
packet.c
in tacacs-F4.0.4.28
414 - 1270 1402 3 2
maxsess.c
in tacacs-F4.0.4.28
415 - 1270 1402 3 2
dump.c
in tacacs-F4.0.4.28
453 - 1270 1402 3 2
pwlib.c
in tacacs-F4.0.4.28
490 1 1270 1402 3 2
default_fn.c
in tacacs-F4.0.4.28
613 - 1270 1402 3 2
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
config.c
in tacacs-F4.0.4.28
1981 - 122 1402 6 4
parse.c
in tacacs-F4.0.4.28
250 - 1270 1402 4 2
tac_plus.c
in tacacs-F4.0.4.28
891 - 1270 1402 4 2
parse.h
in tacacs-F4.0.4.28
75 - 1270 1402 4 2
do_author.c
in tacacs-F4.0.4.28
897 - 1270 1402 4 2
in
version.h.in
in tacacs-F4.0.4.28
5 - 1159 1402 4 3
spec
57 - 1159 1402 4 3
des_s_p.h
in tacacs-F4.0.4.28
130 - 1270 1402 3 2
expire.c
in tacacs-F4.0.4.28
49 - 1270 1402 3 2
des_ip.h
in tacacs-F4.0.4.28
1042 - 1270 1402 3 2
in
tac_convert.in
in tacacs-F4.0.4.28
120 - 1159 1402 3 2
aceclnt_fn.c
in tacacs-F4.0.4.28
156 - 1270 1402 3 2
tac_plus.h
in tacacs-F4.0.4.28
344 - 1270 1402 3 2
do_auth.py
in tacacs-F4.0.4.28
394 4 1270 1402 3 2
mschap.h
in tacacs-F4.0.4.28
1 - 1270 1402 3 2
enable.c
in tacacs-F4.0.4.28
161 - 1270 1402 3 2
md5.c
in tacacs-F4.0.4.28
221 - 1270 1402 3 2
des_key.h
in tacacs-F4.0.4.28
8195 - 1270 1402 3 2
fdes.c
in tacacs-F4.0.4.28
107 - 1270 1402 3 2
default_fn.c
in tacacs-F4.0.4.28
613 - 1270 1402 3 2
maxsess.c
in tacacs-F4.0.4.28
415 - 1270 1402 3 2
utils.c
in tacacs-F4.0.4.28
162 - 1270 1402 3 2
md4.h
in tacacs-F4.0.4.28
11 - 1270 1402 3 2
dump.c
in tacacs-F4.0.4.28
453 - 1270 1402 3 2
tacacs.h
in tacacs-F4.0.4.28
333 - 1270 1402 3 2
sendauth.c
in tacacs-F4.0.4.28
227 - 1270 1402 3 2
pwlib.c
in tacacs-F4.0.4.28
490 1 1270 1402 3 2
hash.c
in tacacs-F4.0.4.28
106 - 1270 1402 3 2
tac_pwd.c
in tacacs-F4.0.4.28
155 - 1270 1402 3 2
author.c
in tacacs-F4.0.4.28
132 - 1270 1402 3 2
maxsessint.c
in tacacs-F4.0.4.28
60 - 1270 1402 3 2
acct.c
in tacacs-F4.0.4.28
114 - 1270 1402 3 2
sendpass.c
in tacacs-F4.0.4.28
113 - 1270 1402 3 2
choose_authen.c
in tacacs-F4.0.4.28
222 - 1270 1402 3 2
programs.c
in tacacs-F4.0.4.28
383 - 1270 1402 3 2
des_iip.h
in tacacs-F4.0.4.28
1042 - 1270 1402 3 2
in
config.h.in
in tacacs-F4.0.4.28
258 - 1159 1402 3 2
expire.h
in tacacs-F4.0.4.28
5 - 1270 1402 3 2
do_acct.c
in tacacs-F4.0.4.28
274 - 1270 1402 3 2
md5.h
in tacacs-F4.0.4.28
19 - 1270 1402 3 2
default_v0_fn.c
in tacacs-F4.0.4.28
121 - 1270 1402 3 2
encrypt.c
in tacacs-F4.0.4.28
96 - 1270 1402 3 2
packet.c
in tacacs-F4.0.4.28
414 - 1270 1402 3 2
fdes.h
in tacacs-F4.0.4.28
42 - 1270 1402 3 2
report.c
in tacacs-F4.0.4.28
129 - 1270 1402 3 2
skey_fn.c
in tacacs-F4.0.4.28
140 - 1270 1402 3 2
client_count.c
in tacacs-F4.0.4.28
138 11 1270 1402 3 2
pw.c
in tacacs-F4.0.4.28
92 - 1270 1402 3 2
in
pathsl.h.in
in tacacs-F4.0.4.28
12 - 1159 1402 3 2
md4.c
in tacacs-F4.0.4.28
173 - 1270 1402 3 2
Correlations

File Size vs. Number of Changes: 57 points

tacacs-F4.0.4.28/config.c x: 1981 lines of code y: 6 # changes tacacs-F4.0.4.28/config.h.in x: 258 lines of code y: 3 # changes tacacs-F4.0.4.28/pathsl.h.in x: 12 lines of code y: 3 # changes tacacs-F4.0.4.28/tac_convert.in x: 120 lines of code y: 3 # changes tacacs-F4.0.4.28/users_guide.in x: 1543 lines of code y: 3 # changes tacacs-F4.0.4.28/Makefile.in x: 1242 lines of code y: 3 # changes tacacs-F4.0.4.28/tacacs+.spec x: 113 lines of code y: 3 # changes tacacs-F4.0.4.28/version.h.in x: 5 lines of code y: 4 # changes tacacs.spec x: 57 lines of code y: 4 # changes tacacs-F4.0.4.28/aceclnt_fn.c x: 156 lines of code y: 3 # changes tacacs-F4.0.4.28/authen.c x: 322 lines of code y: 3 # changes tacacs-F4.0.4.28/choose_authen.c x: 222 lines of code y: 3 # changes tacacs-F4.0.4.28/client_count.c x: 138 lines of code y: 3 # changes tacacs-F4.0.4.28/default_fn.c x: 613 lines of code y: 3 # changes tacacs-F4.0.4.28/des_iip.h x: 1042 lines of code y: 3 # changes tacacs-F4.0.4.28/des_key.h x: 8195 lines of code y: 3 # changes tacacs-F4.0.4.28/do_acct.c x: 274 lines of code y: 3 # changes tacacs-F4.0.4.28/do_auth.py x: 394 lines of code y: 3 # changes tacacs-F4.0.4.28/do_author.c x: 897 lines of code y: 4 # changes tacacs-F4.0.4.28/dump.c x: 453 lines of code y: 3 # changes tacacs-F4.0.4.28/encrypt.c x: 96 lines of code y: 3 # changes tacacs-F4.0.4.28/expire.c x: 49 lines of code y: 3 # changes tacacs-F4.0.4.28/fdes.h x: 42 lines of code y: 3 # changes tacacs-F4.0.4.28/maxsess.c x: 415 lines of code y: 3 # changes tacacs-F4.0.4.28/maxsessint.c x: 60 lines of code y: 3 # changes tacacs-F4.0.4.28/md4.c x: 173 lines of code y: 3 # changes tacacs-F4.0.4.28/md5.c x: 221 lines of code y: 3 # changes tacacs-F4.0.4.28/md5.h x: 19 lines of code y: 3 # changes tacacs-F4.0.4.28/packet.c x: 414 lines of code y: 3 # changes tacacs-F4.0.4.28/parse.c x: 250 lines of code y: 4 # changes tacacs-F4.0.4.28/parse.h x: 75 lines of code y: 4 # changes tacacs-F4.0.4.28/programs.c x: 383 lines of code y: 3 # changes tacacs-F4.0.4.28/pwlib.c x: 490 lines of code y: 3 # changes tacacs-F4.0.4.28/tac_plus.h x: 344 lines of code y: 3 # changes tacacs-F4.0.4.28/tacacs.h x: 333 lines of code y: 3 # changes tacacs-F4.0.4.28/tac_plus.8.in x: 316 lines of code y: 2 # changes tacacs-F4.0.4.28/tac_plus.conf.5.in x: 1654 lines of code y: 2 # changes
6.0
# changes
  min: 2.0
  average: 3.12
  25th percentile: 3.0
  median: 3.0
  75th percentile: 3.0
  max: 6.0
0 8195.0
lines of code
min: 1.0 | average: 477.49 | 25th percentile: 101.0 | median: 161.0 | 75th percentile: 404.0 | max: 8195.0

Number of Contributors vs. Number of Changes: 57 points

tacacs-F4.0.4.28/config.c x: 4 # contributors y: 6 # changes tacacs-F4.0.4.28/config.h.in x: 2 # contributors y: 3 # changes tacacs-F4.0.4.28/users_guide.in x: 3 # contributors y: 3 # changes tacacs-F4.0.4.28/version.h.in x: 3 # contributors y: 4 # changes tacacs-F4.0.4.28/do_author.c x: 2 # contributors y: 4 # changes tacacs-F4.0.4.28/tac_plus.8.in x: 2 # contributors y: 2 # changes
6.0
# changes
  min: 2.0
  average: 3.12
  25th percentile: 3.0
  median: 3.0
  75th percentile: 3.0
  max: 6.0
0 4.0
# contributors
min: 2.0 | average: 2.12 | 25th percentile: 2.0 | median: 2.0 | 75th percentile: 2.0 | max: 4.0