Ik ben een student die momenteel een thesis schrijft over het gebruik van graph-based tools op programma-code. Daarvoor heb ik een AWT to RDF converter geschreven. Nu heb ik een grafe die een object-oriented software-programma voorstelt, en zoek ik suggesties om dit nuttig te gebruiken.
Wat ik momenteel al heb:
Wat ik momenteel al heb:
- Pattern matching: probeer een patroon te matchen op de grafe. Dit kan bijvoorbeeld gebruikt worden om automatisch een visitor pattern te detecteren. Het leuke hiervan is dat ook bijna-matches getoond kunnen worden, en daarop suggesties gegeven kunnen worden. Voorbeeld: "Dit lijkt een visitor-pattern, maar de methodenamen zijn niet zo genoemd. Misschien kan je dit aanpassen?"
- Cluster detection: probeer klasses die elkaar heel veel gebruiken samen te groeperen. Dit kan handig zijn om te kijken of de onderverdeling in modules wel goed is.
- Tool integration: omdat RDF een taal is waarbij heel makkelijk extra data kan worden toegevoegd, is het mogelijk om de resultaten van modelling tools, profilers, compilers, ... op te slaan in hetzelfde RDF-bestand. Zo bekom je veel closere integratie, omdat refactors op de code ook worden doorgevoerd in de extra gelinkte data.
- Versioning: conflict-management op grafen is een hot research topic. Door de betekenis van software te veranderen (ipv stukken tekst) is mergen makkelijker en ga je minder echte conflicten hebben.
- Automatic detection of errors: ik heb een aantal reasoning regels gemaakt om fouten in code te vinden. VB: dead code, exceptions die niet gecatcht worden, ...
WebDAV in Vista is horribly broken. Ik wil het fixen, maar ben nog steeds op zoek naar de tarball met de source...