Giter Site home page Giter Site logo

joht / code-graph-analysis-pipeline Goto Github PK

View Code? Open in Web Editor NEW
8.0 2.0 0.0 551.34 MB

Fully automated pipeline for static code graph analysis

License: GNU General Public License v3.0

Cypher 0.72% Jupyter Notebook 98.54% Shell 0.70% HTML 0.01% JavaScript 0.04% CSS 0.01%
automation code-analysis cypher graph java jqassistant neo4j

code-graph-analysis-pipeline's People

Contributors

joht avatar renovate[bot] avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

code-graph-analysis-pipeline's Issues

Dependency Dashboard

This issue lists Renovate updates and detected dependencies. Read the Dependency Dashboard docs to learn more.

Awaiting Schedule

These updates are awaiting their schedule. Click on a checkbox to get an update now.

  • Update dependency neo4j/graph-data-science to v2.6.5

Open

These updates have all been created already. Click a checkbox below to force a retry/rebase of any.

Detected dependencies

github-actions
.github/workflows/code-structure-analysis.yml
  • actions/checkout v4
  • actions/setup-java v4
  • actions/setup-node v4
  • actions/cache v4
  • conda-incubator/setup-miniconda v3
  • actions/cache v4
  • actions/upload-artifact v4
  • actions/upload-artifact v4
.github/workflows/cypher-reference-documentation.yml
  • actions/checkout v4
  • actions/upload-artifact v4
.github/workflows/environment-variables-reference-documentation.yml
  • actions/checkout v4
  • actions/upload-artifact v4
.github/workflows/scripts-reference-documentation.yml
  • actions/checkout v4
  • actions/upload-artifact v4
npm
graph-visualization/package.json
  • glob ^10.3.3
  • jimp ^0.22.10
  • neovis.js ^2.1.0
  • puppeteer ^22.0.0
regex
.github/workflows/code-structure-analysis.yml
  • AxonFramework/AxonFramework 4.9.3
README.md
  • AxonFramework/AxonFramework 4.9.3
  • AxonFramework/AxonFramework 4.9.3
  • AxonFramework/AxonFramework 4.9.3
  • AxonFramework/AxonFramework 4.9.3
  • AxonFramework/AxonFramework 4.9.3
  • AxonFramework/AxonFramework 4.9.3
  • AxonFramework/AxonFramework 4.9.3
  • AxonFramework/AxonFramework 4.9.3
  • AxonFramework/AxonFramework 4.9.3
  • AxonFramework/AxonFramework 4.9.3
  • AxonFramework/AxonFramework 4.9.3
  • AxonFramework/AxonFramework 4.9.3
  • AxonFramework/AxonFramework 4.9.3
.github/workflows/code-structure-analysis.yml
  • conda-forge/miniforge 24.3.0-0
scripts/profiles/Neo4jv5.sh
  • neo4j/neo4j 5.16.0
scripts/resetAndScan.sh
  • neo4j/neo4j 5.16.0
scripts/setupNeo4j.sh
  • neo4j/neo4j 5.16.0
scripts/setupNeo4jInitialPassword.sh
  • neo4j/neo4j 5.16.0
scripts/startNeo4j.sh
  • neo4j/neo4j 5.16.0
scripts/stopNeo4j.sh
  • neo4j/neo4j 5.16.0
scripts/profiles/Neo4jv5.sh
  • neo4j/apoc 5.17.1
scripts/setupNeo4j.sh
  • neo4j/apoc 5.17.1
scripts/profiles/Neo4jv5.sh
  • neo4j/graph-data-science 2.6.2
scripts/setupNeo4j.sh
  • neo4j/graph-data-science 2.6.2
scripts/profiles/Neo4jv5.sh
  • JohT/open-graph-data-science-packaging 2.7.0-alpha01
scripts/setupNeo4j.sh
  • JohT/open-graph-data-science-packaging 2.7.0-alpha01
scripts/profiles/Neo4jv5.sh
  • jQAssistant/jqa-commandline-tool 2.0.10
scripts/resetAndScan.sh
  • jQAssistant/jqa-commandline-tool 2.0.10
scripts/setupJQAssistant.sh
  • jQAssistant/jqa-commandline-tool 2.0.10

  • Check this box to trigger a request for Renovate to run again on this repository

Action Required: Fix Renovate Configuration

There is an error with this repository's Renovate configuration that needs to be fixed. As a precaution, Renovate will stop PRs until it is resolved.

Location: renovate.json
Error type: The renovate configuration file contains some invalid settings
Message: Custom Manager contains disallowed fields: versioning

Depicting child package depencies in parent package depencies

Hey, right now the pipeline calculates the incoming and outgoing depencies of the classes in the package but it ignores the depencies of child packages with packages outside of the parent package. For example if I have the following file structure:
-feature1
---Entity
---Service
----FeatureService1(dependsOn FeatureService2)
---Repo
-feature2
---Entity
---Service
----FeatureService2
---Repo

Then the package feature1 would have no incoming or outgoing depencies in the metrics, eventough its child service package has depencies to another package.

I feel like this metric is quite intersting because it shows the actual coupling between features in sliced-onion/vertical/screaming Architectures.

Neo.ClientError.Procedure.ProcedureCallFailed when running analyze.sh

Hey,
I got the following error any idea what the issue might be ?

`MacBook-Pro  …/backend  ./../../scripts/analysis/analyze.sh --report Csv

analyze: analysisReportCompilation=Csv
analyze: settingsProfile=Default
analyze: exploreMode=false
analyze: ANALYSIS_SCRIPT_DIR=/Users/mpetersen/Desktop/master-arbeit/code-graph/scripts/analysis
analyze: SCRIPTS_DIR=/Users/mpetersen/Desktop/master-arbeit/code-graph/scripts
analyze: Using analysis settings profile script /Users/mpetersen/Desktop/master-arbeit/code-graph/scripts/profiles/Default.sh
setupNeo4j: SCRIPTS_DIR=/Users/mpetersen/Desktop/master-arbeit/code-graph/scripts
setupNeo4j: Creating tools directory if neccessary
setupNeo4j: Creating shared downloads directory </Users/mpetersen/Desktop/master-arbeit/code-graph/temp/downloads> if neccessary
operatingSystemFunctions: No Windows detected for OSTYPE darwin22
setupNeo4j: neo4j-community-5.14.0 already installed
setupNeo4j: apoc-5.14.0-core.jar already installed
setupNeo4j: open-graph-data-science-2.6.0-alpha01-for-neo4j-5.9.0.jar already installed
setupJQAssistant: SCRIPTS_DIR=/Users/mpetersen/Desktop/master-arbeit/code-graph/scripts
setupJQAssistant: Creating tools directory if neccessary
setupJQAssistant: Creating shared downloads directory </Users/mpetersen/Desktop/master-arbeit/code-graph/temp/downloads> if neccessary
setupJQAssistant: already installed
startNeo4j: SCRIPTS_DIR=/Users/mpetersen/Desktop/master-arbeit/code-graph/scripts
startNeo4j: Using Neo4j binary directory tools/neo4j-community-5.14.0/bin
operatingSystemFunctions: No Windows detected for OSTYPE darwin22
waitForNeo4jHttp: SCRIPTS_DIR=/Users/mpetersen/Desktop/master-arbeit/code-graph/scripts
waitForNeo4jHttp: CYPHER_DIR=/Users/mpetersen/Desktop/master-arbeit/code-graph/scripts/../cypher
startNeo4j: neo4j-community-5.14.0 already started
resetAndScanChanged SCRIPTS_DIR=/Users/mpetersen/Desktop/master-arbeit/code-graph/scripts
resetAndScanChanged: Artifacts unchanged. Scan skipped.
prepareAnalysis: SCRIPTS_DIR=/Users/mpetersen/Desktop/master-arbeit/code-graph/scripts
prepareAnalysis: CYPHER_DIR=/Users/mpetersen/Desktop/master-arbeit/code-graph/scripts/../cypher
"Source Cypher File: Create_index_for_full_qualified_type_name.cypher"
"Source Cypher File: Types/Remove_extended_type_labels.cypher"
"labels(type)","numberOfBaseTypes","Source Cypher File: Types/Label_base_java_types.cypher"
"Type,File,Java,ByteCode,PrimitiveType",8,""
"Type,File,Java,ByteCode,Void",1,""
"labels(t)","numberOfJavaTypes","Source Cypher File: Types/Label_buildin_java_types.cypher"
"Type,File,Java,ByteCode,JavaType",893,""
"Type,File,Java,ByteCode,Class,JavaType",419,""
"Type,File,Java,ByteCode,Class,GenericDeclaration,JavaType",43,""
"Type,File,Java,ByteCode,Interface,JavaType",64,""
"Type,File,Java,ByteCode,Annotation,JavaType",45,""
"Type,File,Java,ByteCode,Interface,GenericDeclaration,JavaType",19,""
"Type,File,Java,ByteCode,Enum,JavaType",8,""
"labels(type)","numberOfResolvedDuplicateTypes","Source Cypher File: Types/Label_resolved_duplicate_types.cypher"
"Source Cypher File: External_Dependencies/Remove_external_type_and_annotation_labels.cypher"
"labels(type)","numberOfExternalTypes","Source Cypher File: External_Dependencies/Label_external_types_and_annotations.cypher"
"Type,File,Java,ByteCode,ExternalType,ExternalAnnotation",13,""
"Type,File,Java,ByteCode,ExternalType",183,""
prepareAnalysis: Preparation successful
analyze: Creating Reports with /Users/mpetersen/Desktop/master-arbeit/code-graph/scripts/reports/compilations/CsvReports.sh ...
CsvReports: REPORT_COMPILATIONS_SCRIPT_DIR=/Users/mpetersen/Desktop/master-arbeit/code-graph/scripts/reports/compilations
CsvReports: REPORTS_SCRIPT_DIR=/Users/mpetersen/Desktop/master-arbeit/code-graph/scripts/reports
CsvReports: Starting /Users/mpetersen/Desktop/master-arbeit/code-graph/scripts/reports/ArtifactDependenciesCsv.sh...
ArtifactDependenciesCsv: REPORTS_SCRIPT_DIR=/Users/mpetersen/Desktop/master-arbeit/code-graph/scripts/reports
ArtifactDependenciesCsv SCRIPTS_DIR=/Users/mpetersen/Desktop/master-arbeit/code-graph/scripts
ArtifactDependenciesCsv CYPHER_DIR=/Users/mpetersen/Desktop/master-arbeit/code-graph/scripts/../cypher
CsvReports: Starting /Users/mpetersen/Desktop/master-arbeit/code-graph/scripts/reports/CentralityCsv.sh...
centralityCsv: REPORTS_SCRIPT_DIR=/Users/mpetersen/Desktop/master-arbeit/code-graph/scripts/reports
centralityCsv: SCRIPTS_DIR=/Users/mpetersen/Desktop/master-arbeit/code-graph/scripts
centralityCsv: CYPHER_DIR=/Users/mpetersen/Desktop/master-arbeit/code-graph/scripts/../cypher
centralityCsv: 2024-02-25T16:42:49+0100 Processing artifact dependencies...
"graphName","nodeCount","relationshipCount","creationTime","modificationTime","Source Cypher File: Dependencies_Projection/Dependencies_1_Delete_Projection.cypher"
"artifact-centrality",407,0,"2024-02-25T15:35:23.761324Z","2024-02-25T15:35:23.970435Z",""
"graphName","nodeCount","relationshipCount","creationTime","modificationTime","Source Cypher File: Dependencies_Projection/Dependencies_2_Delete_Subgraph.cypher"
"artifact-centrality-cleaned",0,0,"2024-02-25T15:35:24.014369Z","2024-02-25T15:35:24.032342Z",""
"graphName","nodeCount","relationshipCount","Source Cypher File: Dependencies_Projection/Dependencies_3_Create_Projection.cypher"
"artifact-centrality",407,0,""
"graphName","fromGraphName","nodeCount","relationshipCount","nodeFilter","Source Cypher File: Dependencies_Projection/Dependencies_5_Create_Subgraph.cypher"
"artifact-centrality-cleaned","artifact-centrality",0,0,"n.outgoingDependencies > 0 OR n.incomingDependencies > 0",""
"nodeCount","relationshipCount","bytesMin","bytesMax","heapPercentageMin","heapPercentageMax","treeView","Source Cypher File: Centrality/Centrality_2a_Page_Rank_Estimate.cypher"
0,0,832,832,0.1,0.1,"Memory Estimation: 832 Bytes
|-- algorithm: 832 Bytes
|-- this.instance: 88 Bytes
|-- vote bits: 104 Bytes
|-- compute steps: 416 Bytes
|-- this.instance: 104 Bytes
|-- node value: 56 Bytes
|-- pagerank (DOUBLE): 56 Bytes
|-- message arrays: 168 Bytes
|-- this.instance: 56 Bytes
|-- send array: 56 Bytes
|-- receive array: 56 Bytes
",""
"ranIterations","didConverge","preProcessingMillis","computeMillis","postProcessingMillis","centralityDistribution.min","centralityDistribution.mean","centralityDistribution.max","centralityDistribution.p50","centralityDistribution.p75","centralityDistribution.p90","centralityDistribution.p95","centralityDistribution.p99","Source Cypher File: Centrality/Centrality_2b_Page_Rank_Statistics.cypher"
0,false,0,0,0,,,,,,,,,""
"nodePropertiesWritten","didConverge","ranIterations","preProcessingMillis","computeMillis","mutateMillis","postProcessingMillis","centralityDistribution.min","centralityDistribution.mean","centralityDistribution.max","centralityDistribution.p50","centralityDistribution.p75","centralityDistribution.p90","centralityDistribution.p95","centralityDistribution.p99","centralityDistribution.p999","Source Cypher File: Centrality/Centrality_3c_Page_Rank_Mutate.cypher"
0,false,0,0,0,0,0,,,,,,,,,,""
/Users/mpetersen/Desktop/master-arbeit/code-graph/scripts/../cypher/Dependencies_Projection/Dependencies_8_Stream_Mutated_Value_Descending.cypher: {
"code": "Neo.ClientError.Procedure.ProcedureCallFailed",
"message": "Failed to invoke procedure gds.graph.nodeProperties.stream: Caused by: java.lang.IllegalArgumentException: Expecting at least one node projection to contain property key(s) ['centralityPageRank']."
}
Parameters: "dependencies_projection": "artifact-centrality", "dependencies_projection_node": "Artifact", "dependencies_projection_weight_property": "weight", "dependencies_projection_write_property": "centralityPageRank"

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.