How to help

If you’re interested in getting involved with PIT there are various ways in which you could help.

Documentation

PIT’s documentation is not great. It’s better than some other projects out there, but there’s plenty of room for improvement.

If you have time to write up your experiences with PIT in the form of a tutorial, a set of tips and tricks, or have the time to examine the code and document how something works that you don’t feel is well explained, then somebody out there will probably find it useful.

We’re happy to take submissions for things to be included on the main site or link to things hosted elsewhere.

As the google group is archived and searchable by Google, simply asking and answering questions there will create a form of documentation that may help others.

Bug reports, feature requests and other feedback

If something didn’t work for you, it probably isn’t working for somebody else and if it’s not reported it won’t get fixed. Before reporting a bug please check the FAQ and open defects first to make sure it’s not an issue we already know about. If it’s already reported feel free to add any details you think are relevant to the report.

Similarly if you have a good idea for a feature or change please do suggest it. Your idea may in fact be truly terrible, but if so we promise to be polite about it.

General feeback of what you think works well, or doesn’t work well is also always welcome. PIT’s aim is to make mutation testing as usable and practical as possible. It’s nice to know how we’re doing.

Development

This is of course what most people have in mind when they think of contributing, and patches are welcome. If you are interested in helping out the best thing to do is checkout the code and have a play.

The roadmap contains a list of possible tasks that people could help out on. One good way to start might be to implement a new mutation operator, the roadmap contains some suggestions for new ones but you may be able to think of others.

The core codebase might not be the best place for you to contribute however. Your skillset may be more suited to other areas.

Tool integration is especially important, anyone wanting to work on an Eclipse plugin, ant task, or sonar plugin would be particularly wellcome.

Web development skills could also be useful - at some point we hope to create a web app that allows the mutation analysis results to be navigated and annotated.

We’d also like to hear from anyone with good graphic design skills who would like to produce a logo or other graphics.

Advocacy

Most Java developers haven’t heard of mutation testing. Most of the ones that have haven’t heard of PIT.

If you’ve found PIT useful please tell people about it - a larger community will generate more ideas and attract more developers.