Uber / NullAway
Components & Dependencies

An overview of source code logical components.

Intro

Logical decomposition is a representation of the organization of the main source code, where every and each file is put in exactly one logical component.

Learn more...
Logical Decompositions Overview

Analyzed system has 1 logical decomposition:

Logical Decomposition #1: PRIMARY

The decompositions is based on the folder structure at level 1 (relative to the source code root).

Bubble Chart | Tree Map
Component Sizes (Lines of Code)
The "primary" logical decomposition has 10 components.
  • 142 files, 15,784 LOC (100.0% vs. main code).
  • "nullaway" is biggest, containing 81.65% of LOC.
  • "annotations" is smallest, containing 0.05% of LOC.


nullaway12887 LOC (81%) 78 files
jar-infer1325 LOC (8%) 22 files
jmh1007 LOC (6%) 11 files
test-java-lib175 LOC (1%) 15 files
sample106 LOC (<1%) 3 files
test-library-models104 LOC (<1%) 1 file
sample-app98 LOC (<1%) 8 files
sample-library-model47 LOC (<1%) 1 file
test-java-lib-lombok27 LOC (<1%) 2 files
annotations8 LOC (<1%) 1 file
Static Dependencies
Dependencies among components are static code dependencies among files in different components.
  • Analyzed system has 2 links (arrows) between components.
  • The number on the arrow represents the number of files from referring component that depend on files in referred component.
  • These 2 links contain 2 dependencies.
G sample-app sample-app test-java-lib test-java-lib annotations annotations jar-infer jar-infer sample sample test-java-lib-lombok test-java-lib-lombok sample-library-model sample-library-model nullaway nullaway sample-library-model->nullaway 1 jmh jmh test-library-models test-library-models test-library-models->nullaway 1


Download: SVG DOT (open online Graphviz editor)

Open 3D force graph...

Show more details about dependencies...




Component Commits
Components ordered by number of commits
Total Commits per Component
All commits, some commits may include files from multiple components.
nullaway348 commits (45%)
jar-infer37 commits (4%)
test-java-lib19 commits (2%)
sample-library-model9 commits (1%)
test-library-models9 commits (1%)
jmh5 commits (<1%)
sample5 commits (<1%)
test-java-lib-lombok5 commits (<1%)
sample-app4 commits (<1%)
annotations1 commits (<1%)
Yearly File Updates Trend per Components
The number of file changes in commits
animated commit history: all time cumulative | 12 months window
2024 2023 2022 2021 2020 2019 2018 2017
nullaway
49
221
282
83
71
96
196
99
test-library-models
4
2
2
1
jar-infer
4
9
3
5
39
19
test-java-lib-lombok
3
3
sample-library-model
1
1
1
2
2
2
test-java-lib
2
13
4
9
annotations
1
jmh
13
3
sample-app
1
2
2
7
sample
1
1
5


Dependencies between components in same commits (past 180 days)
The number on the lines shows the number of shared commits.
See detailed temporal dependencies report...

G nullaway nullaway nullaway--nullaway 19 sample-library-model sample-library-model sample-library-model--nullaway 2 test-java-lib-lombok test-java-lib-lombok test-java-lib-lombok--nullaway 2 test-java-lib test-java-lib test-java-lib--nullaway 1 test-java-lib--sample-library-model 1 test-library-models test-library-models test-library-models--nullaway 1 test-library-models--sample-library-model 1 test-library-models--test-java-lib 1


2024-04-03 14:35