The work towards the MSc dissertation continues. Recently finished several key bits of work, writing software to create network graphs and then calculate a measurement of that graph.
This is effectively having to build your own microscope before you can start looking at stuff. An existing tool, Dependency Finder is used to find the dependencies within source code and output a network graph as shown in the image. Dependencies concern which bit of code relies on or calls other bits of code, and as you might imagine in a piece of software that can and does get quite tangled. Once generated the graph is passed to my own code (christened ‘netMetric’) which calculates the networks offdiagonal complexity (OdC) as proposed by Claussen.
As you can tell from the name, the aim of my dissertation is to see if OdC can measure the complexity of the network and thus of the software and see how that complexity changes as the software is developed. The worry was that since these network are large with thousands of nodes and edges, the measurement would require more computing power than I’ve got available in the back bedroom. Thankfully its proved possible to make the measurement in seconds not hours, thanks to the excellent JUNG and colt code libraries. Colt is via CERN, who probably know a thing or two about high-performance computing :)
So overall it feels like things are coming together on the practical research side. However the dissertation has to jump academic hoops as well so it’s not quite “success!!” yet.