research interests

I am interested in the question: “how can we make better software?” This question motivates research into many various arenas of research, some of my research interests include:

  • Software Engineering
  • Software Verification
  • Web Application Testing
  • Security Testing
  • Mobile Systems
  • Agile Development

My work is currently supported through an NSERC Discovery Grant and a SSHRC Insight grant. A brief summary of each project are provided below:

Web Service Testing

The objective of this research endeavor is to produce a low-cost automated testing solution for use in service-oriented computing (SOC). This goal is to be realized through:

  • the creation of an automated process for extracting a grammatical representation of a web service from the WSDL document;
  • the development of an automated reverse-engineering input-constraints solver based on the runtime traces of a web-service and HTTP server logs;
  • the development of an automated defect detection mechanism (i.e. automated testing oracle); and
  • the development of an invariant-validation framework for the existing Enterprise Service Bus infrastructure.

Successful realization of these goals is expected to have significant implications for the development of robust web-services and the next generation SOC infrastructure, as well as for the broader web engineering and software testing communities.

The short-term goals of this research endeavor are to develop and provide an in-depth evaluation of a WSDL grammatical specification extractor, a reverse engineering input-constraint solver for web-services, an automated test oracle for web-services, and an invariant-validation framework for integration with service-oriented architecture.

The long-term goal of this research is the production of an industrial strength automated testing methodology and support tool that can be implemented as a low-cost solution for the verification and assessment of web-services and SOC systems. Such a tool would be of significant benefit to the SOC community, offering increased testing power measured in terms of defect detecting capability, and reduced costs given the automated nature of the proposed software testing solution. Further to the delivery of this specialized testing framework, an equally important aim is to advance the state-of-the-art within the software testing field. The realization of this automated testing framework will undoubtedly produce synergetic ideas and novel testing strategies that can be generalized to apply to the larger field of software testing as a whole.

Edmonton River Valley Atlas

The Edmonton North Saskatchewan River Valley Atlas project is situated at the nexus of several academic and non-academic conversations, and its ultimate task is to facilitate communication and understanding among scholars, local stakeholders, and the wider public. It will draw on the interdisciplinary skills and competencies of the project team (which come from computing science, history, geography, and computing humanities departments) and will take advantage of advances in the digital humanities, exploring the potential of digital technologies to offer a dynamic, flexible platform appropriate to the diverse narratives of the urban river valley. The current task of this project is to build the atlas infrastructure itself through the adaptation and development of a content management platform that will enable a collaborative study of the Edmonton river valley.

Essentially the technical components of the project can be summarized by the ability to dynamically display geo-referenced content within a dynamic geographic information system. It is imperative that the core-functionality of the digital atlas is of the highest quality. The digital atlas must be implemented to the highest standards, specifically in regard to maintainability and reliability, two components that are crucial to the success of the digital atlas as a long-term research initiative. Accordingly the project must not be thought of as a prototype; rather the project will require a systematic development approach strongly rooted in the best practices established within the Software Engineering community. Given the invested and interdisciplinary nature of the research team, it is imperative that a development methodology is elected that will involve all stakeholders—historians, geographers, and computing scientists within the development of this novel research platform.

The development of the project involves three parallel components, each to be implemented by undergraduate students under the direct supervision of the research team:

  1. Geographic Information Systems (GIS): Inherent to the success of the digital atlas is the ability for users to connect with the Edmonton river valley through an interactive mapping system. Development activities within this deliverable will focus upon the adaptation of common GIS-type interfaces, e.g. Google Maps, Yahoo! Maps, Microsoft Maps, rather than professional programs such as ESRI ArcMap or ArcIMS. Work within this deliverable will enable the display and collecting of historical narratives from the public in a familiar medium. Additionally, the project will strive to bring the Edmonton river valley to life through the inclusion of publicly generated geo-referenced multimedia—images, videos, historical overlays, etc. All of this work will require substantial development efforts across a wide-array of languages and frameworks—HTML5, CSS, JSON, AJAX, etc.
  2. Database Infrastructure: A critical component of the project will be the development of a database to support the interactive geography and allow for dynamic content creation, manipulation and submission. To facilitate this project, a database will be developed to support both the interactive mapping platform and the research objectives of the project. The database system is critical to the development of the interactive mapping system, allowing users to browse the history of the Edmonton river valley over a variety of customizable fields including: date-range, geographic location, type of events, municipality, etc.
  3. Content Management System (CMS): The project requires a framework to allow effective collaboration across demographics and Internet proficiencies. As one of the primary objectives of the project is to enable the collection of historical narratives from all walks of life and technical proficiencies, a simple easy-to-use interactive environment is critical to the success of the project. Development will focus upon the adaptation of existing CMS solutions to the domain. Although a number of off-the-shelf open-source software solutions are available, existing CMS solutions will require modification and adaption to enable the level of collaboration proposed. Imperative to this task is the ability for the public to post geo-referenced narratives coupled with the ability to review and approve any/all updates.