microsoft / Ironclad
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.

  • 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 (32 components)

Logical Decomposition #1: PRIMARY

The decompositions is based on the folder structure (relative to the source code root), with automatically defined folder depth to have at least 10 components.

Bubble Chart | Tree Map
Components
The "primary" logical decomposition has 32 components.
  • 501 files, 62,809 lines of code (49.3% vs. main code).
  • "ironclad-apps/src/Checked" is biggest, containing 21.5% of code.
  • "ironclad-apps/src/Dafny" is smallest, containing 0.02% of code.


ironclad-apps/src/Checked13505 LOC (10%) 35 files
ironclad-apps/tools/NuBuild12377 LOC (9%) 148 files
ironclad-apps/tools/NuBuild212370 LOC (9%) 148 files
ironclad-apps/src/Clients4767 LOC (3%) 76 files
ironclad-apps/tools/DafnySpec4375 LOC (3%) 11 files
ironclad-apps/tools/DafnyCC4192 LOC (3%) 5 files
ironclad-apps/tools/Beat1963 LOC (1%) 4 files
ironclad-apps/tools/BoogieAsm1804 LOC (1%) 6 files
ironfleet/src/Dafny1409 LOC (1%) 3 files
ironclad-apps/tools/Dafny844 LOC (<1%) 2 files
ironfleet/tools/scripts790 LOC (<1%) 10 files
ironfleet/src/IronSHTClient714 LOC (<1%) 3 files
ironfleet/src/IronRSLKVServer503 LOC (<1%) 2 files
ironfleet/src/RedisClient422 LOC (<1%) 8 files
ironclad-apps370 LOC (<1%) 3 files
ironclad-apps/src/DafnyTestDriver294 LOC (<1%) 5 files
ironfleet/src/IronRSLKVClient279 LOC (<1%) 3 files
ironfleet/src/IronRSLCounterClient236 LOC (<1%) 3 files
ironfleet/src/CreateIronServiceCerts224 LOC (<1%) 2 files
ironclad-apps/tools/standalone212 LOC (<1%) 3 files
ironfleet/src/IronSHTServer172 LOC (<1%) 2 files
ironfleet/src/TestIoFramework172 LOC (<1%) 2 files
ironfleet/src/IronfleetCommon168 LOC (<1%) 3 files
ironfleet/src/IronLockServer159 LOC (<1%) 2 files
ironclad-apps/tools/SymDiff121 LOC (<1%) 2 files
ironfleet/src/IronRSLClient85 LOC (<1%) 1 files
ironclad-apps/tools/scripts77 LOC (<1%) 3 files
ironfleet/tools/DepGraph62 LOC (<1%) 1 files
ironfleet/src/IronRSLCounterServer52 LOC (<1%) 1 files
ironclad-apps/boot40 LOC (<1%) 1 files
ironclad-apps/tools/LineCount37 LOC (<1%) 2 files
ironclad-apps/src/Dafny14 LOC (<1%) 1 files
Dependencies
Dependencies among components are static code dependencies among files in different components.

No component dependencies found.



2022-01-30 11:09