JUnit 4
Components & Dependencies

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.

  • A software system can have one or more logical decompositions.
  • A logical decomposition can be defined in two ways in Sokrates.
  • First approach is based on the folders structure. Components are mapped to folders at defined folder depth relative to the source code root.
  • Second approach is based on explicit definition of each component. In such explicit definitions, components are explicitly named and their files are selected based on explicitly defined path and content filters.
  • A logical decomposition is considered invalid if a file is selected into two or more components.This constraint is introduced in order to facilitate measuring of dependencies among components.
  • Files not assigned to any component are put into a special "Unclassified" component.
Learn more...
Logical Decompositions Overview

Analyzed system has 1 logical decomposition:

  • primary (13 components)
Logical Decomposition #1: PRIMARY
The decompositions is based on folder structure at level 6 (relative to the source code root).
Components
The "primary" logical decomposition has 13 components.
  • 217 files, 10,733 lines of code (52.9% vs. main code).
  • "org/junit/internal" is biggest, containing 24.32% of code.
  • "org/junit/function" is smallest, containing 0.04% of code.


org/junit/internal2610 LOC (12%) 60 files
org/junit/runners2013 LOC (9%) 27 files
org/junit/experimental1667 LOC (8%) 31 files
org/junit/runner1266 LOC (6%) 32 files
junit/framework938 LOC (4%) 15 files
org/junit/rules786 LOC (3%) 16 files
org/junit621 LOC (3%) 15 files
junit/runner264 LOC (1%) 4 files
junit/textui221 LOC (1%) 3 files
org/junit/validator162 LOC (<1%) 6 files
junit/extensions134 LOC (<1%) 5 files
org/junit/matchers47 LOC (<1%) 2 files
org/junit/function4 LOC (<1%) 1 files
Alternative Visuals
Dependencies
Dependencies among components are static code dependencies among files in different components.
  • Analyzed system has 41 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 41 links contain 193 dependencies.
  • There are 9 places (18 links) with cyclic dependencies (124 file dependencies).
G junit/textui junit/textui junit/framework junit/framework junit/textui->junit/framework 2 junit/runner junit/runner junit/textui->junit/runner 2 org/junit org/junit junit/framework->org/junit 1 org/junit/runner org/junit/runner junit/framework->org/junit/runner 3 org/junit/internal org/junit/internal junit/framework->org/junit/internal 2 junit/runner->junit/framework 1 junit/runner->org/junit/internal 1 junit/extensions junit/extensions junit/extensions->junit/framework 4 org/junit->org/junit/internal 1 org/junit/function org/junit/function org/junit->org/junit/function 1 org/junit/runners org/junit/runners org/junit->org/junit/runners 1 org/junit/experimental org/junit/experimental org/junit/experimental->junit/framework 1 org/junit/experimental->org/junit 3 org/junit/validator org/junit/validator org/junit/experimental->org/junit/validator 2 org/junit/experimental->org/junit/runner 10 org/junit/experimental->org/junit/internal 4 org/junit/experimental->org/junit/runners 9 org/junit/validator->org/junit/runners 4 org/junit/runner->junit/runner 1 org/junit/runner->org/junit 1 org/junit/runner->org/junit/validator 2 org/junit/runner->org/junit/internal 5 org/junit/runner->org/junit/runners 4 org/junit/internal->junit/framework 2 org/junit/internal->junit/extensions 1 org/junit/internal->org/junit 10 org/junit/internal->org/junit/runner 20 org/junit/rules org/junit/rules org/junit/internal->org/junit/rules 1 org/junit/internal->org/junit/runners 25 org/junit/rules->org/junit 7 org/junit/rules->org/junit/runner 10 org/junit/rules->org/junit/internal 5 org/junit/rules->org/junit/function 1 org/junit/rules->org/junit/runners 13 org/junit/matchers org/junit/matchers org/junit/rules->org/junit/matchers 1 org/junit/runners->org/junit 5 org/junit/runners->org/junit/validator 2 org/junit/runners->org/junit/runner 9 org/junit/runners->org/junit/internal 12 org/junit/runners->org/junit/rules 3 org/junit/matchers->org/junit/internal 1




Show more details about dependencies...




2020-09-11 16:21