KollaborierbaR is a web-based IDE for collaboratively editing Java source code and running automated proofs of JML specifications. KollaborierbaRs automated proof system is based on the KeY project.
This demo presents some of the basic features of KollaborierbaR:
(requires python3 for running a local webserver and Java 8 for running the backend. Versions other than Java 8 will lead to errors.)
- Download the latest
KollaborierbaR.tar.gz
from releases - OR build an up to date version yourself:
make setup
make deploy
cd deliverables
- Extract the archive and run KollaborierbaR
tar -xf KollaborierbaR.tar.gz
cd KollaborierbaR
./run.sh
- If you want others to join you in KollaborierbaR, stop the server, configure your public IP address in
config.js
, and restart it.
A description of the project, QA methods, two user studies and a documentation of the backend API can be found in this document: documentation.pdf. It is written for the most part in German, though. The backend API specification is written in English.
Other than that, the source code itself is annotated with comments and documentation in English.
KollaborierbaR consists of 2 components, a web frontend (located in the client
folder) and a backend server (see server
folder).
A set of makefiles abstracts from the different tooling used in those projects. The following make
commands are available:
command | effect |
---|---|
make setup |
Download all dependencies required for building KollaborierbaR |
make check |
Run style checks and static analysis tools |
make |
Build client and server |
make test |
Run tests on the server API |
make pipeline |
Run all of the above |
make deploy |
Build a tar.gz archive, which makes it easy to distribute KollaborierbaR |
make format |
Run automatic code formatters |
make clean |
Clean build artifacts |
Remember to always run make setup
first, after downloading the repository
You can use all of the above commands (except for deploy
) also within the client
or server
folders, so that the described effects only apply to the client or server respectively.
The KollaborierbaR IDE has been developed by
- Jonas Belouadi - @potamides
- Marc Arnold - @m-arnold
- Martin Kerscher - @maruker
- David Heck - @heckstrahler
- Anton Haubner - @ahbnr
This project has been realized in the context of a practical lab course of the B.Sc. Computer Science programme at TU Darmstadt. More specifically, the project was commissioned by the Software Engineering Group.
In particular we want to thank
- Eduard Kamburjan (as SE Group supervisor, @Edkamb)
- Dominic Steinhöfel (as SE Group supervisor, @rindPHI)
- Tom König (as student tutor, @tomknig)
for supervising the project.