linzeqipku / SnowGraph

A tool for data analytics, knowledge mining and question answering in software engineering

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

SnowGraph is depressed now and has been migrated to linzeqipku/intellide-graph

Software Knowledge Graph

licence

SnowGraph is a software data analytics platform.

Features

  • Data format support

    • Source code, version control, issue tracking, mailing lists, documentation, online discussions.
  • Trace recovery

    • Entities extracted from different data sources are linked automatically through multiple traceability recovery techniques.
  • Data analytics

    • Software data are stored in a neo4j graph database.
    • We can use Neo4j's graph query language, Cypher, to query software data.
    • Different data analytics methods can be implemented as a reusable component using a uniform interface.
  • In-dev Applications

    • Natural language interface for querying the graph database
    • API-aware text understanding
    • QAbot based on text analysis
    • QAbot based on program analysis

Development Environment

  • java

  • maven

  • IntelliJ IDEA

  • neo4j

Building a Graph

Example input data:

edit snowgraph-builder.yml, like:

graphPath: E:/SnowGraphData/lucene/graphdb-tmp

extractors:
    - graphdb.extractors.parsers.javacode.JavaCodeExtractor E:/SnowGraphData/lucene/sourcecode
    - graphdb.extractors.parsers.git.GitExtractor E:/SnowGraphData/lucene/git
    - graphdb.extractors.parsers.stackoverflow.StackOverflowExtractor E:/SnowGraphData/lucene/stackoverflow
    - graphdb.extractors.parsers.jira.JiraExtractor E:/SnowGraphData/lucene/jira
    - graphdb.extractors.parsers.mail.MailListExtractor E:/SnowGraphData/lucene/mbox
    - graphdb.extractors.miners.text.TextExtractor
    - graphdb.extractors.miners.codeembedding.line.LINEExtractor
    - graphdb.extractors.linkers.apimention.ApiMentionExtractor
    - graphdb.extractors.linkers.ref.ReferenceExtractor

Run graphdb.framework.SnowGraphBuilder (VM arguments: -Xms2000m -Xmx2000m). This process may take a long time.

With the above property file, the graph database is generated in E:/SnowGraphData/lucene/graphdb-tmp.

About

A tool for data analytics, knowledge mining and question answering in software engineering

License:Apache License 2.0


Languages

Language:Java 100.0%