Portfolio

Atlantis – 2012

Atlantis is an Eclipse based tool I project managed and helped develop for Defense Development Research Canada (DRDC). Atlantis is a database backed trace analysis tool designed to help security analysts in performing assembly level exploitability analysis of executables. Atlantis is unique in its ability to scale to multi-gigabyte size trace files and uses some nifty spatial indexing techniques to recreate the entire memory state of a program from its trace in seconds. Atlantis also does some neat tricks to allow it load multi-gigabyte files in Eclipse.


Springboard – 2011

Springboard was a website I helped develop for the Irish Department or Education to assist them with the rollout of a major national re-skilling initiative which offered thousands of free college places to the recently unemployed. Springboard was a major national project with 50 plus organizational stakeholders and went from concept to launch in 4 months.


BlueBrick – 2010

BlueBrick is a nationwide 3rd level online applications system I developed and project managed on behalf of a consortium of about 30 Irish universities and technical colleges. BlueBrick was revolutionary in that for the first time in the history of the state a learner could search and apply online for 3rd level courses from any of the major 3rd level educational providers. Since its creation BlueBrick’s frontend and backend systems have processed hundreds of thousands of applications and severed several million unique visitors.


TusNua – 2009

TusNua was a website I developed for a consortium of education providers, employment agencies and government departments to assist and co-ordinate the response to a major regional jobs loss. It provided a way for recently unemployed people to find and contact the agencies that could help them best. TusNua went from concept to launch in under a month.


Ideas – 2008

Ideas was proof of concept national learning web portal I developed for a consortium of Irish universities. Ideas was developed to evaluate the technical issues of providing a single website though which learners could find and apply for postgraduate education from across all universities in Ireland. Ideas combined a course database with a novel learning recommendation engine to help learners manager their learning roadmap and advise them about which courses they should do to attain their objectives.


Forager – 2007

Forager was an Eclipse plugin I created during my PhD that implemented various Information Retrieval algorithms in Eclipse. I used it to investigate how developers mapped high-level concepts such as features to the code that implements those concepts and to find out if advanced IR techniques like Latent Semantic Analysis etc might perform better than the basic regular expression search offered by Eclipse.

Forager was actually pretty cool in that it allowed you to specify a concept using natural language query and then see the methods in the code that matched that query ranked by their relatedness which you could then use to build a topic model of the code. In the end I implemented support for about 5 different IR algorithms.

The code for Forager is available on source forge.
https://sourceforge.net/projects/forager/


Seer – 2006

The Seer Workbench was a software architecture static and dynamic analysis toolkit that I helped develop for a startup I co-founded called JuneBeri Ltd. Seer was a pretty interesting tool. Along with standard control and data flow analyses it implemented an architecture analysis technique called Reflexion, which allowed users to draw a picture of the systems components and then layer that over a static call graph generated from the systems codebase. Seer was designed to help recover and document the software architecture of legacy systems as well as performing architectural integrity checking (ensuring that dependencies in a system didn’t contravene a systems proposed architecture). At the time Seer was one of the only tools that could do this kind of architecture analysis.


Chive – 2005

Chive was a neat little visualization framework I developed in the final year of my undergrad and which I continued to work on in the early part of my PhD. Chive was a Java3D implementation of the Cone Tree visualization technique developed at Xerox Park by Card et al in the mid 80’s. As far as I know my implementation stands as one of the only 3rd party implementation of Cone Trees ever created.

Chive was primarily an experiment in visualizing large hierarchies in software using 3D and animation but we applied it to lots of other stuff like visualizing graphs of search results, file systems, and software traces. Chive also contained the Helix Cone Tree, a novel modification I made to the Cone Tree layout algorithm as an experiment in avoiding label occlusion in 3D graphs.

The various videos of Chive I created are now sadly lost to the ages (this was pre YouTube), which is unfortunate as static pictures don’t really do justice to the nifty little cascading animations that happen when you interact with it. The code is available on source forge for anybody that wants to try and get it running again.

https://sourceforge.net/projects/chive/