Skip to content
This repository has been archived by the owner on Feb 1, 2020. It is now read-only.

New Developers

bmmoore edited this page Aug 4, 2015 · 6 revisions

This is intended to be a very high level guide for new developers who wish to begin development on the K framework.

Get added to github

Create a github account if you don't already have one, and request that one of the owners of the kframework organization (e.g. @dwightguth) add you to the organization. This will keep you updated on new issues and pull requests, and allow your pull requests to be tested automatically

Get added to mailing lists

Go to http://lists.cs.uiuc.edu/mailman/listinfo and request to be added to the k-user and k-list mailing lists. You should also be added to a mailing list for the organization you belong to (i.e. fsl or rv). Talk to @grosu or @dwightguth if you are unsure which you belong to.

Get a Jenkins account (optional)

If you want to be able to trigger and cancel builds on Jenkins, for example if two builds of the same pull request are in the queue at once, please email @dwightguth and he will provide you with an account on the Jenkins machine.

Wiki search (optional)

The github web interface doesn't provide a way to search the project wiki (as of Aug 2015). One option is to download a local copy of the wiki, and use an interface that allows search. The wiki content is stored in git, and github released a standalone copy of their wiki software which does include search, gollum. This requires ruby, and can be used as follows:

# Install gollum
gem install gollum 

# Check out the wiki
git clone git://github.com/k-framework/k.wiki.git wiki

# Start Gollum.
cd path/to/wiki
gollum

Then open a browser to http://localhost:4567/ and you should find a searchable copy of the K wiki. I haven't tried editing through that interface or pushing commits, but being able to search the wiki is nice.

(instructions based on http://bdunagan.com/2011/10/19/searching-github-wikis-with-gollum/)

Download the code and set up your environment

Follow the instructions [here](Git Faq) to set up git on your machine. Then follow the instructions here to set up K on your machine.

Get a task to work on!

Talk to @grosu or @dwightguth for ideas if you are unsure what you might want to work on.

Filing bug reports

If you run into an issue while developing or using K, either fix it yourself, or file a bug report and assign it to someone associated with that part of the project.

Some basic principles for who to assign bug reports to:

  • Verification: @andreistefanescu
  • Java Rewrite Engine: @yilongli
  • Parser: @radumereuta
  • KTest: @osa1
  • Maude backend: @traiansf
  • Coq backend: @bmmoore
  • All other issues: assign to @dwightguth and he will determine who should work on the issue.

Please make your bug reports concise, easy to reproduce, and as factual as possible. For resources on writing good bug reports, see here

Clone this wiki locally