The SATToSE2013 Hackathon took place as a part of the Sixth Seminar in a Series on Advanced Techniques & Tools for Software Evolution, in Bern (Switzerland) on 8-10 July 2013. (photo taken by Erwann Wernli aka @wrnli)
There are three core components to the hackathon: the tool, the evolution topic and the repository to focus on.
- Your favourite tool. We do not tell you what tool or framework to use. Instead, you pick your own tool, an approach that you always use, or a framework that you have always wanted to try, and hack away with it. Thus, you may continue your own research and development process, or you can use this hackathon as an opportunity to try out something new.
- Software evolution topic. Since SATToSE in general is about advanced techniques for software evolution, you are expected to touch upon that topic in your hackathon contribution. How exactly do you do that, is entirely up to you, we will be happy if you find a way to justify the connection. Some ideas to inspire you:
- Find related files in the repository by seeing which files are changed together in one commit.
- Mine for “commit smells”: indicate which commits look unlike all other commits.
- Visualising “freshness” of software system components.
- Investigate metrics behaviour of a software system over time.
- Relate exposed project properties with each other (e.g., “Python projects have smaller commits than Haskell projects”).
- Diff adjacent versions of programs.
- Implement multidimensional navigation though a versioned software system.
- Analyse possible “development sessions” within commits.
- Identify known refactorings within code changes.
- Enable comprehension of multilanguage ecosystems.
- Create an ontology or a taxonomy based on commit messages.
- Locate cases of “software erosion”.
- …anything else you like…
- A repository. The best place to look for evolving software artefacts nowadays, is software repositories. For example:
- Grammar repositories like Grammar Zoo, Grammar Tank, Atlantic Zoo, TXL Resources, ANTLR4 Grammars, ANTLR3 Grammar List, SDF Library, Rascal Library
- Software chrestomathies like 101companies or Rosetta Code
- Language specific repositories such as CRAN for R, CCAN for C, CPAN for Perl, RubyGems for Ruby, PyPI for Python
- Plugin repositories like Eclipse Marketplace, jQuery Registry, GIMP Registry, WordPress Directory
- Mobile apps repositories such as F-Droid for Android or Midgard2
- Linux distribution repositories for Debian, Fedora, Gentoo, Slackware, SUSE, ArchLinux — or even DistroWatch, a repository of distributions
- Specific ecosystem repositories such as GNOME, KDE, Apache, MediaWiki or GNU.
- Curated code collections such as Qualitas Corpus
- Forges such as SourceForge, Savannah, GitHub, Atlassian BitBucket
- Developer fora such as StackOverflow
- Wikis such as those of Wikimedia Foundation or GitHub projects wikis
- …any other repository…
There are no prizes/awards, but participation is instigated by pizza and beer.
The contributions will be collected at the SATToSE2013 repository. Please tell us if you prefer your own repo (it will be connected as a submodule), otherwise either fork and file a pull request, or ask to be added directly to the list of contributors to push directly.
- 8 July 2013, 16:30–16:45: Hackathon presentation
- 8 July 2013, 19:00–∞: On-site pizza-driven hackathon
- 9 July 2013: freeform contribution
- …
- 10 July 2013, 15:30–16:30: PROFIT! Results announced
- Previous hackathon of the same series took place on 20–22 August 2012 in Koblenz, see Hackathon on Reverse Engineering and Reengineering, as a part of SoTeSoLa 2012.