Code Understanding
A platform to analyze the structure and features of the software systems we previously scanned.
Design
Main Components:
Front-End: Web Front-End of the Code Understanding that allows users to analyze, query, and visualize the structure of the scanned code.
Back-End: Receives the queries, obtains the results, formats the data and returns the formatted results. Interacts with the DBProviders and Graph DBs.
DB Provider: Provides a list of available DBs and ensures that they are available on demand.
Graph DB: Currently, a neo4j database. We might consider other data sources in the future.
Use Cases
Additional Ideas on main component responsibilities:
Priorities
Design Front-End
How to diagnose better issues in Graph DB containers creation?
Better understanding/documentation for our components
Improve trouble shouting for Azure processes
Improve code quality (refactoring and simplification)
Future Work
Generic models
Graph model
Graph display model (default and predefined values)
Add a way to make a query and add preferences for display
<query> // [preferences]
[Tentative] Offline database generator
Front End
Remove the need to be connected to a database for using the Analyzer.
Design how to manage accounts.
Change how the interactions work or remove them if not needed at all.
Maybe a change in how the share module works (see this)
Back End
Neo4j dependency
DBM dependency
Needed changes
Neo4j driver usage for the connection with databases
(currently, we are doing the queries on the dbm)
DB Manager
Neo4j dependency (decorators)
Last updated