SoTeSoLa 2012 ==>
The hackathon is now over. We got 21 contributions.
Reverse and Re-engineering are established areas in software engineering and computer science. Reverse engineering is meant in a broad sense to include software mining, fact extraction, software visualization, vocabulary mining, analysis of language usage, architecture recovery, etc. Re-engineering is also meant in a broad sense to include, for example, program refactoring, wrapping, dead-code elimination, language migration, database re-engineering, and other forms of software evolution. There exist numerous methods and tools out there. There have been various efforts to integrate the related body of knowledge in textbooks, online resources, and otherwise. At SoTeSoLa, such integration will be continued in the form of a hackathon with on-site and remote participation.
During the hackathon, the participants exercise methods and tools of interest in reverse/re-engineering/software mining experiments. In order to focus efforts, to enable diverse experiments, and to stimulate synergies, the experiments target the software chrestomathy of the 101companies project, which is available as a git repository 101repo of source code and as dumps and resources 101data of extracted facts. The participants will typically target specific 101implementations or sets thereof, specific technologies (such as EF, JAXB, Hibernate, Ant, or Make), and specific languages (such as Java, Haskell, or C#). Such selection should help in demonstrating efficiently the methods and tools of interest. The expectation is that the hackathon produces a corpus of samples, which may be useful, for example, in teaching software mining, reverse and re-engineering, or as a benchmark or a point of reference in these areas of research. Some ilustrations and various helpful pointers are available (see the resource section of the website).
Reverse engineering deliverables:
- Software mining
- Fact extraction
- Metrics computation
- Software visualization
- Vocabulary mining
- Analysis of language usage
- Analysis of API usage
- Architecture recovery
- Design pattern recovery
- Wrapping for backwards compatibility or SOA
- Code injection for extra functionality or assertions
- Dead-code detection and elimination
- Language or API migration
- Framework or platform migration
- Database re-engineering
- Architectural modifications
- Modularization or component identification
- Coupled software transformations
- Legacy system renovation
- What you want
- The limit is your imagination
- Software Mining @ Wikipedia
- Reverse engineering @ Wikipedia
- Re-engineering @ Wikipedia
- Simple illustrative implementations @ github.com/SoTeSoLa More illustrative implementations elsewhere (with slides and videos):
- Conferences @ DBLP:
All registered teams compete for the SoTeSoLa Hackathon award funded by Google. The winner will be selected by a committee that is formed at the school drawing from speakers and other senior community members present at the school. The presentation at the beginning of the hackathon provides advice on how to compete for the award. SoTeSoLa is a fun-oriented research event.
The Hackathon sessions take place on Monday 20 Aug and Thursday 22 Aug. Hackathonists are welcome to reverse/re-engineer/mine software at all times during this period. At the beginning of the hackathon, Vadim Zaytsev gave a presentation to explain the hackathon concept. This presentation is available on line. Join the group "SoTeSoLa Hackathon" on planet-sl for further information. Hackathon teams with interesting results can give a short presentation in a designated session on the next day of the SoTeSoLa program.
1. If you are a remote participant register to the planet-sl.org/community.
2. Join the group "SoTeSoLa Hackathon"
3. Check for "announcements" there and ask participate to "discussions"
4. Submit code and documentation, e.g., via GitHub.
5. Optionally, present during a designated SoTeSoLa session next day.
They were 21 Contributions:
- Darius Blasband, Oscar Nierstrasz(RainCode, Moose)
- raincode-moose: repo
- Rodrigo Bonifácioet al (JML)
- Andrea Caracciolo(Moose)
- Tassilo Hornet al (EMFText, JaMoPPC, FunnyQT)
- Anastasia Izmaylova, Jan Kurš, Vadim Zaytsev(Rascal)
- Philipp Kempgen (Ruby) — pawz-movie
- Ralf Lämmel
- Alex Loh, Andrei Varanovich, Udo Borkowskiet al (Ensō)
- enso-wiki: video
- Jefferson Rodrigues et al (SPG)
- JavaExorcismSPL: repo
- Jean-Sébastien Sottet, Hugo Bruneliere(MoDisco, ATL, Acceleo & Xtext)
- modisco-eclipse: repo
- Reinout Stevenset al (Ekeko, Clojure)
- Vadim Zaytsev(Python, Rascal)
The list below collects all contributions to the best of coordinators' knowledge. Please use the SoTeSoLa Hackathon group to provide us more information.
You can have a look at the Hackathon activities by joining the "SoTeSoLa Hackathon group"...