Analisi delle dipendenze e dintorni

Da 2-3 mesi ho un'idea che mi frulla per la testa relativamente all'analisi delle dipendenze tra assembly e tra tipi. In giro non c'è molto che faccia questo tipo di lavoro, fatta eccezione per NDepend che, quando pronto (ora è RC1), sarà un gran tool ma sarà anche a pagamento, costerà intorno ai 300$ a licenza. Sarebbero soldi assolutamente ben spesi, ma potrebbero esistere scenari dove un "motore" di analisi delle dipendenze e più in generale del codice IL potrebbe essere interessante anche per scopi non direttamente correlati alle metriche e al controllo della qualità del codice. Penso per esempio ad un "auto-wiki", un aggeggio in grado di analizzare un set di assembly e che possa da essi generare un wiki per documentare o monitorare iterazioni a partire da un grafo di navigazione "preconfezionato". In generale l'idea è che questo motore possa essere usato con facilità in ambienti dove si fa uso di continuous integration e non si ha un gran budget a disposizione...  come il mio 

Nelle ultime settimane ho iniziato a scrivere questo "motorino", con l'idea di avere un'architettura pluggabile a cui aggiungere moduli di analisi in modo semplice. Ad oggi la parte di analisi dell'IL si basa su un set di sorgenti C# che ho trovato qui, ma sto valutando di passare a Cecil. La parte di analisi e di costruzione dei "grafi" delle dipendenze è a buon punto, ora vorrei scrivere qualche plugin di analisi interessante, per esempio per calcolare metriche sulle dipendenze afferenti/efferenti, generare il grafico stability/abstractness, generare l'auto-wiki descritto sopra. Spero di arrivare presto (3-4 settimane) ad una versione considerabile "beta" e metterlo da qualche parte tipo CodePlex. Se qualcuno di voi volesse darmi una mano (ammesso che io riesca a scrivere qualcosa di decente ) o avesse delle idee faccia un fischio, ok?

Bon, ormai l'ho detto, adesso mi tocca anche farlo...  in realtà ho scritto questo post quasi per non avere più scuse, e per obbligarmi a trovare il tempo per andare avanti con...  con...  come lo chiamo???

powered by IMHO 1.3