uber / NullAway
Components

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.

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 16 components.
  • 212 files, 21,742 LOC (69.4% vs. main code).
  • "nullaway" is biggest, containing 77.9% of LOC.
  • "test-java-module" is smallest, containing 0.09% of LOC.


nullaway16937 LOC (54%) 111 files
jar-infer1374 LOC (4%) 23 files
jmh1027 LOC (3%) 11 files
jdk-annotations603 LOC (1%) 7 files
jdk-javac-plugin384 LOC (1%) 2 files
test-java-lib260 LOC (<1%) 27 files
scripts257 LOC (<1%) 1 file
test-library-models255 LOC (<1%) 1 file
library-model179 LOC (<1%) 3 files
gradle112 LOC (<1%) 1 file
sample105 LOC (<1%) 3 files
sample-app98 LOC (<1%) 8 files
annotations58 LOC (<1%) 7 files
sample-library-model47 LOC (<1%) 1 file
test-java-lib-lombok27 LOC (<1%) 2 files
test-java-module19 LOC (<1%) 4 files
Component Commits
Components ordered by number of commits
Total Commits per Component
All commits, some commits may include files from multiple components.
nullaway544 commits (47%)
jar-infer55 commits (4%)
test-java-lib29 commits (2%)
gradle15 commits (1%)
test-library-models14 commits (1%)
jmh10 commits (<1%)
sample-library-model9 commits (<1%)
library-model8 commits (<1%)
sample7 commits (<1%)
jdk-javac-plugin7 commits (<1%)
jdk-annotations6 commits (<1%)
annotations6 commits (<1%)
test-java-lib-lombok6 commits (<1%)
sample-app5 commits (<1%)
test-java-module1 commits (<1%)
scripts1 commits (<1%)
Yearly File Updates Trend per Components
The number of file changes in commits
animated commit history: all time cumulative | 12 months window
2026 2025 2024 2023 2022 2021 2020 2019 2018 2017
nullaway
87
316
235
202
257
77
67
89
167
89
jdk-annotations
9
12
gradle
12
3
jar-infer
1
10
18
4
9
3
5
37
16
jdk-javac-plugin
5
4
test-java-lib
3
4
12
2
13
4
9
library-model
5
2
5
test-library-models
1
4
4
2
2
1
test-java-module
4
jmh
3
3
13
3
annotations
1
2
3
1
sample-app
1
1
2
2
7
scripts
1
sample-library-model
1
1
1
2
2
2
sample
4
1
1
5
test-java-lib-lombok
2
3
3


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 40 gradle gradle nullaway--gradle 8 jdk-javac-plugin jdk-javac-plugin nullaway--jdk-javac-plugin 2 jar-infer jar-infer jar-infer--nullaway 5 library-model library-model jar-infer--library-model 2 jar-infer--jar-infer 2 jdk-annotations jdk-annotations jar-infer--jdk-annotations 2 jar-infer--gradle 1 jar-infer--jdk-javac-plugin 1 jdk-annotations--jdk-annotations 4 jdk-annotations--nullaway 3 test-java-lib test-java-lib test-java-lib--nullaway 4 test-library-models test-library-models test-java-lib--test-library-models 3 test-java-lib--test-java-lib 2 library-model--nullaway 4 library-model--library-model 2 library-model--jdk-annotations 2 library-model--jdk-javac-plugin 2 library-model--gradle 2 test-library-models--nullaway 3 jdk-javac-plugin--jdk-javac-plugin 2 jdk-javac-plugin--jdk-annotations 2 jdk-javac-plugin--gradle 1 jmh jmh jmh--jmh 1 annotations annotations annotations--nullaway 1


2026-04-18 12:56