Skip to content

Commit

Permalink
Updated README
Browse files Browse the repository at this point in the history
  • Loading branch information
DavidBakerEffendi committed Oct 8, 2024
1 parent 210354f commit 744db31
Showing 1 changed file with 19 additions and 40 deletions.
59 changes: 19 additions & 40 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,9 +22,13 @@ dataflow analysis and comparing database backend performance.
Versions < 0.6.3 of Plume were Kotlin based but versions from 1.0.0 onwards have been moved to a Scala implementation
for better interfacing with the [CPG schema library](https://github.com/ShiftLeftSecurity/codepropertygraph).

If your project depends on Plume I am happy to still provide maintenance and support but I recommend any new
If your project depends on Plume I am happy to still provide maintenance and support, but I recommend any new
research to begin on Joern where I also spend time providing help and support.

> [!TIP]
> A `flatgraph`-based fork in on [`dave/flatgraph`](dave/flatgraph). This is not merged into the default branch
> as the current `flatgraph.DiffGraphBuilder` API is more encapsulated than OverflowDB's.
## Quickstart

One can run Plume from the `plume` binary which will use `OverflowDB` as the graph database backend if no config is
Expand Down Expand Up @@ -89,51 +93,18 @@ export GSQL_HOME=`pwd`/gsql_client.jar

Remember to set the `tgVersion` correctly in the `TigerGraphDriver`.

> [!WARNING]
> At the time of writing, TigerGraph now ships Docker containers with licenses of restricted lifespans, thus killing
> access to older versions. Due to this, and some other moves to becoming more proprietary, I have been unable to
> support newer versions of Tigergraph.
## Community

* If you have any questions or want to be involved then check out
our [discussions page](https://github.com/plume-oss/plume/discussions).
* Joern's [Discord](https://discord.gg/28uCANEkK2). Note, this will give you temporary membership
to the server. Once joined you can obtain permanent membership by being assigned role if necessary.
* Joern's [Discord](https://discord.gg/28uCANEkK2).
* Plume is primarily maintained by [David Baker Effendi](https://davidbakereffendi.github.io/)
* DM on [Twitter](https://twitter.com/SDBakerEffendi)
* Email at [email protected]

## Known Bugs

- Due to module encapsulation in Java 17, Kryo serialization for `TinkerGraphDriver` will not work due to serialization
errors.

## Adding Plume as a Dependency

Replace `X.X.X` with the desired version on [JitPack](https://jitpack.io/#plume-oss/plume).

```sbt
libraryDependencies ++= Seq(
com.github.plume-oss %% plume % X.X.X
)
```

Don't forget to include the JCenter and JitPack repository in your `build.sbt`.

```sbt
resolvers += "jitpack" at "https://jitpack.io"
```

## Building from Source

Plume releases are available on JitPack. If downloading from JitPack is not an option, or you would like to depend on a
modified version of Plume, you can build Plume locally and use it as an unmanaged dependency. JDK version 11 or higher
is required.

```shell script
git clone https://github.com/plume-oss/plume.git
cd plume
sbt stage
```

This will build `target/scala-2.13/plume_2.13-X.X.X.jar` which can be imported into your local project.

## Benchmarks

Plume specifies a `benchmark` binary which orchestrates running JMH benchmarks for AST creation with various graph
Expand All @@ -149,6 +120,14 @@ An automated script to run the benchmarks versus programs from the `defects4j` d
scala runBenchmarks.sc
```

## Known Bugs

- Due to module encapsulation in Java 17, Kryo serialization for `TinkerGraphDriver` will not work due to serialization
errors. There are ways around this with some additional config, however.
- When running benchmarks, the classpath is sometimes in an abnormal state, and the mutated JMH classes are missing.
this usually resolves itself after re-running the process.


## Logging

Plume uses [SLF4J](http://www.slf4j.org/) as the logging fascade.
Expand Down

0 comments on commit 744db31

Please sign in to comment.