My areas of expertise are software architecture [WOSS 2004, JSS 2010], software evolution and maintenance [IWPSE 2005 book chapter 2008], and in the past knowledge representation. A common thread has been the use of graph-based representations. Work done so far can be roughly divided into three periods.

My undergraduate capstone project was a Prolog implementation of conceptual graphs (a knowledge representation formalism inspired by semantic networks) and their application to natural language understanding, followed by an MSc thesis on improvements to the theory of conceptual graphs.

During the PhD and subsequent years I collaborated on CommUnity, an expressive and generic software architecture formalism based on category theory. In particular, I worked on architectural reconfiguration [SCP 2002], higher-order connectors [TOSEM 2003], mobile components and transient connections [FSE 2002], architectural views [WICSA 2007] and a partial implementation of CommUnity [SCP 2007]. Moreover, I was seconded to a SME for two years, helping on a flexible object-oriented coordination mechanism to adapt software to changing business rules [ADS 2004].

For the past years, in part due to my involvement with the MSc module Managing the Software Enterprise, I have become more interested in the wider socio-technical context of software development. Current interests centre on empirically exploring, by mining open source software repositories, the links between:

  • structure and quality: do badly structured names affect quality? [CSMR 2010]
  • structure and developers: how to support visual analytics of relations between software structure and team structure? [ICSE 2009]
  • structure and evolution: does code cloning (i.e. copy-paste code) increase maintenance effort? [ICSM 2008]
  • structure, evolution and quality: are good design principles relevant for evolving successful architectures? [ESEJ 2011]

Publication lists

References to all my publications are on my CV, but more detailed information (e.g. abstracts and links to PDFs) about most of them can be obtained from this table. The table is interactive. By default papers are listed from most to least recent, but clicking on any column heading changes the order. Clicking on the DOI link will take you to the publisher’s site, clicking on the URL link will usually lead to the PDF on my institution’s open access repository. Clicking on ‘abstract’ beneath the paper’s title will show or hide the paper’s abstract. Typing a word or regular expression in the search box selects the matching rows of the table, e.g.  evolution lists all papers with that word in the title or abstract, Yu lists papers co-authored with Yu, 200[7-9] lists publications from 2007 to 2009.

For shorter and more manageable lists of papers, in the same interactive tabular format, see the selected publications by topic, on the sidebar. For alternative views of my publications, see the other bibliographic repositories on the sidebar.

Leave a Reply

You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Spam protection by WP Captcha-Free