Skip to content

filippov112/dependency-analyzer

Repository files navigation

Dependency Analyzer

A static code analysis (C#) tool using a data flow graph.

Working principle:

  1. The system performs static analysis (In the current implementation .NET - Roslyn API) of the code section selected by the user.
  2. An information graph of the algorithm is formed from the received data.
  3. Based on the graph, commands are highlighted in the editor window.
  4. The generated color map of the code section gives the user an idea of its complexity level.
  5. To get a more accurate picture, the user can customize the analysis.:
    • analyze the impact of individual commands on the rest of the code;
    • analyze only the external dependencies of the site;
    • perform reverse analysis - highlight the depth of dependence of individual commands on the rest of the code.

Advantages:

  • The point-to-point principle of operation allows you to save computer resources, which is especially important for large projects.
  • The depth of analysis available only to tools using neural networks.
  • Smooth integration into the developer's workflow without increasing cognitive load due to switching attention between the code editor and visualization tools.
  • No LLMs that are limited in context, consume computer resources and are prone to errors.
  • Simplicity of functionality, which allows you to implement this tool in the form of plug-ins for popular development environments and does not require a long study from the user.
  • The versatility of the basic concept of the application, which will further expand the range of supported development platforms.

Stack

Architecture

  • MVVM

Technology

  • Platform: .NET 10.0,
  • Framework: WPF
  • Static assembly analysis: Roslyn (Microsoft.CodeAnalysis)
  • Tests: xUnit 2.9.3
  • Code Editor: AvalonEdit

Quick start

Dependency recovery:

dotnet restore

Building a solution:

dotnet publish -r win-x64 --self-contained=false /p:PublishSingleFile=true

artifacts\publish\DA.UI\release_win-x64 - the compiled application will be here.


Screenshots


About

A static code analysis (C#) tool using a data flow graph.

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages