Research

Vision

My vision in research is to "make Software Engineering more like traditional Engineering disciplines" - by leveraging human-centric visual modelling approaches to model, reason about and generate complex software systems. To this end, my research has focused on software engineering, particularly software engineering tools and associated methods. I have worked most recently in the areas of domain-specific visual languages (DSVLs), model-driven engineering methods and tools, software security engineering and human aspects of development and testing. Previously I worked in the areas of aspect-oriented software development, software architecture, process-centred tools, user interfaces - especially model-driven, multi-device, sketch-based and web-based diagramming UIs, and visual languages. I have also written some papers about software engineering, computer science and Information Systems engineering education.

In late 2019 I was awarded an Australian Research Council Laureate Fellowship for 2020-2024 on Human-Centric, Model-driven Software Engineering, which will be my major research focus for the next several years.

You can find our HumaniSE lab website here.

Community Leadership and Service

I am currently Senior Associate Editor for ACM Computing Surveys, an Associate Editor for ACM Transactions on Software Engineering and Methodology, an Associate Editor for IEEE Software, an Associate Editor for the Automated Software Engineering journal, and on the Editorial Board for the Journal of Computer Languages. From 2014-2021 I was one of two Associate Editor-in-Chief for IEEE Transactions on Software Engineering, and previously was an Associate Editor for IEEE Transactions on Software Engineering from 2010-2013.

I am on the  Steering Committee for the IEEE/ACM International Conference on Software Engineering and on the Steering Committee for the IEEE/ACM International Conference on Automated Software Engineering. I was twice previously on the Steering Committee for the IEEE/ACM International Conference on Automated Software Engineering (2009-2015, and 2002-2006), and I am also an ASE Fellow.  I was twice on the Steering Committee for the IEEE Conference on Visual Languages and Human-centric Computing (2014-2018 and 2008-2012). I was Steering Committee Chair for the Australian Conference on Software Engineering conference 2009-10. 

I was the General Chair for ICSE2023 in Melbourne, Australia. I was the General Chair for ASE2020 held online due to the COVID-19 pandemic. I was also the General Chair for ASE2021. I was General Chair for ASE2009 and PC Co-chair for ASE2003.  I am PC-Co Chair for VLHCC 2024I was General Chair and on the Programme Committee for IEEE VL/HCC 2014. I was the Demonstrations Track co-Chair for ICSE 2014. I was PC Chair for VL/HCC2006.

I was the President of COmputing Research and Education (CORE) Australasia, the Australasian Computer Science academics professional association, in 2013 and 2014. I was on the CORE Executive committee 2013-2019.

I was on the ARC College of Experts (2019-2021). I was the Chair of the ARC 2018 Engagement and Impact Assessment (EI 2018) Science and Technology panel.  I served on the ARC College of Experts 2015-2017 and the New Zealand MBIE Smart Ideas and High Value Manufacturing and Services Panels 2014-2-19.  I was on the Mathematics, Information and Computing Sciences (MIC) ARC ERA 2012 Research Evaluation Committee.

I am on the PC for ICSE2025.  I was on the PC form ICSE2022, ICSE 2019, ICSE 2017, ICSE 2016, ICSE 2015, ICSE 2013, ICSE2009, ICSE2007 and ICSE 2005. I was on the PC for ASE 2018. I was on the PC for VLHCC 2021, VLHCC 2020, VLHCC 2018. I was on the PC for MODELS 2014 and I was on the PC for INTERACT 2015.  I have been on the Automated Software Engineering PC or ERP every year since 1998. I was on the PC for IEEE VL/HCC 2017, 2016, 2015, 2012, 2011, 2010, 2009 and 2008 and several times earlier. I was on the RE'21 PC. I was on the PC for WICSA 2012. I have served on the MODELS PC many times; the INTERACT PC many times, the WICSA PC several times, and I have served on the AVI and ECOWS programme committees several times. I was on the ASWEC 2013 Programme Committee, was PC co-Chair for ASWEC 2008 and ASWEC 2007 and served on the ASWEC PC many times.  I have refereed for a wide range of software engineering journals including TSE, TOSEM, CSUR, IST, S-P&E, JSS, JVLC, SoSym, SQJ, and IET Software. We ran the 8th Melbourne Computing Education Conventicle, 18th Nov 2011 @ Swinburne. I was on the PC of the 2012 CSEE&T conference.

I gave keynote addresses at:

I do consulting/applied research work with a variety of companies. These have included, among many others, Unisono, Sanitarium, Mailguard, Thales Australia, CA Labs, XSol Ltd, Orion Health Ltd, Peace Software Ltd, and Whitecloud Systems Ltd.

Current Projects

Major current projects include human-centric, model-driven software engineering, large language models for software engineering, domain-specific visual languages especially for big data analytics applications, smart home software systems, model-driven cloud security engineering, performance engineering tools, and data mapping tools. A number of opportunities exist to work with me on these or related projects. Please have a look and contact me if interested...

A summary of my grants relating to many  of these can be found here.

A brief outline of each below:

Human-centric Software Engineering 

I have long had an interest in a number of "human-centric" aspects of software engineering. These include, but are not limited to, personality impact on performance e.g. pair programming and testing, emotional reactions to software, age, gender, culture and team climate on software development and usage, agile approaches to software engineering, usability testing and reporting, more human-centric requirements capture and modelling, and many others. 

I won an ARC Laureate Professorship late 2019 to research this area much more deeply and broadly. 

More details here and here.


Domain-specific Visual Language Tools

We have been researching the use of visual languages for complex model development, exploration and evolution for many years. More recently this has included developing novel support tools for specifying such tools, generating them, and deploying them in a range of domains. More information can be found here 


Model-driven Engineering tools

We have been developing tools that use DSVLs to generate a range of systems via model-driven development techniques to enhance quality and productivity. Much of the work has been done with industrial partners in the health, utility, business process and web engineering domains. More information can be found here 


Large Language Models for Software Engineering

We have been working on various applications of LLMs for SE for some time, well before the advent of GPT3, ChatGPT etc. These include for requirements engineering, inclusive sofware development, Q&A sites, and others. More information can be found here.


Software Engineering Tools

Much of my research has been focused on developing novel software engineering tools. This began with design tools using visual languages, then included integrated software development environments and process-centred environments. More recently has included requirements engineering, knowledge management, software architecture, user interface design, and testing tools. More information can be found here 


Smart Software for Ageing, Social Services and Health

We are looking at ways to improve delivery of health and social services using new software technologies. In particular, we are interested in the use of in-home and in-care sensors and human-centric interaction devices, AI, hand-held, mobile, iPad, software-as-service and Web 2.0 social media concepts in the Social Services and Health primary care domains. More information can be found here 


Performance Engineering techniques and tools

I have been interested in performance engineering of complex software systems for many years. Current work focuses on very large scale enterprise systems and cloud computing systems. Previous work has included enterprise systems, data aggregation systems and E-commerce systems. More information can be found here


Software security engineering, especially for cloud computing

I have become very interested in software security engineering techniques and tools. This includes model-driven approaches to generating security solutions from high-level definitions, domain-specific languages to augment requirements and design notations to capture security properties and their cross-cutting impacts, and platform-level security including autonomic virtual machine monitoring and protection. More info here .


Data mapping and transformation tools

I have been interested in data mapping, model transformation and code generation tools for a long time. I am particularly interested in high-level, visual ways to express model to model and model to code transformations and generate transformation scripts, engines, code...  More details here


Requirements Engineering tools 

I have been interested in Requirements Engineering tools for many years. This began with support for requirements modelling in SPE, and then supporting Aspect-oriented Requirements Engineering with JComposer. More recently it has included supported early-phase requirements engineering with sketching-based requirements capture tools, such as MaramaSketch and SUMLOW, and capturing and improving requirements with MaramaAI, using Esssential Use Cases and Essential User Interface approaches. More information can be found here


Human-centric modelling tools

For a while I have been interested in sketching-based design tools, especially for software design applications. I have had a few projects looking at different aspects of this problem. I am also interested in other human-centric approaches such as guesture-based input, haptic feedback, large screen displays, tabletop displays, augmented relality, 3D user interfaces and mobile device user interfaces. See ourSketch Recognition , MaramaSketch , SUMLOW and digital ink papers.


Computing Education 

Ever since I began teaching I have been interested in Computing Education. Initially this was in Information Systems, where I started teaching, then progressed to Computer Science Education and then Software Engineering Education, and Engineering Education in general. I have published a number of papers on education aspects of computing. More information can be found here 


Model-driven Engineering for GPUs 

We investigated the development of domain-specific visual languages for GPUs. In particular we looked at how to model scientific software applications in mollecular simulation, astrophysics and bioinformatics at high levels using visual languages, and generating GPU C code from these models using model-driven engineering techniques. We developed the Horus-HPC tool to support this. Details here.


Software Architecture 

I have been interested in a variety of aspects of software architecture for many years. This includes tools to support architecture modelling and analysis, performance engineering of architectures, visualisation of complex architectures, domain-specific visual languages and software architecture modelling, dynamic and run-time adaptable architectures, service-oriented architectures, Quality of Service issues in software architectures, ...  and many more!!  More info can be found here


Process-centred environments

I have been interested in process-centred enviornments, software process modelling and enactment, workflow tools, and business process modelling and enactment tools for many years. Initially this was in the context of integrated development environments; more latterly in business process modelling approaches and tools. Examples include Serendipity-II and IMAL


Advanced Knowledge Management Platforms

We are researching new ways to manage complex knowledge about software - and other information - artefacts. This includes Visual Wikis to make such information more accessible and navigatable; complex analysis of diverse informaiton sources to enrich it; and web-based authoring tools to enable it to be better created, modified and shared.  Preliminary examples are the Thinkbase and Thinkpedia tools.  We are exploring use of and enhancement of these toolsets with several industrial partners. More information can be found at http://thinkbase.cs.auckland.ac.nz andhttp://thinkpedia.cs.auckland.ac.nz/


Adaptive user interfaces for web and mobile devices 

Adaptive user interfaces are ones that run on multiple devices and - ideally - adapt to the target device. I have worked on a number of novel approaches to supporting desktop and web-based adaptive UIs, mobile UIs and 3D adpative UIs. In addition, we have developed several platforms for rich interaction interfaces for domain-specific visual languages tools in web browsers and mobile phones. More info here


Aspect-oriented component engineering

I originally developed an approach to represent and use cross-cutting concerns at requirements time to better support component engineering - the general approach now commonly known as "early aspects". I then developed this to use aspect-oriented techniques for architecture, design, and testing. We then applied this idea to engineering services for SOAs. I, students and colleagues developed various support tools for these approaches. See here for an overview of the main concepts. 


NetPay micro-payment systems

Xiaoling (Sharlene) Dai continued a PhD with me in the early 2000s working on NetPay, a novel, off-line micro-payment system. We developed several prototypes, architectures to realise the system, conducted several evaluations and then applied the approach to peer-to-peer information exchange and other domains. More information can be found here


Software Process and Product Improvement

We have been researching new tools and techniques to enhance product quality and development processes.  Our aim is to develop and deploy practical techniques and tools with software companies to make a real difference to their product quality and development productivity. Key focus areas include software project management and process improvement; analysis and visualisation of software metrics; model-driven engineering and domain-specific visual language tools; and model-based testing.  More information can be found at https://wiki.auckland.ac.nz/display/csisppi 

Older Projects

Some of my older projects have included:

Various pubications relating to these can be found off my publications page...