Previous CSER Research at Queen's University


The Software Technology Laboratory at Queen's participates in the Canada-wide CSER initiative in software engineering sponsored by NSERC and a host of industrial partners. At present our CSER project, in collaboration with the University of Toronto, the University of Waterloo, the University of Alberta and the University of Windsor under project leader Prof. John Mylopoulos, includes three specific subprojects of the CSER initiative in Software Reengineering for Network-Centric Computing sponsored by Bell Canada and IBM Canada.

Projects

Three specific projects have been conducted at Queen's under the direction of Prof. James Cordy of the School of Computing and Prof. Thomas Dean of the Department of Electrical and Computer Engineering.

The Whole Website Understanding Project (WWSUP) seeks to facilitate automated design-level understanding and manipulation of entire websites across technologies, languages and client-server boundaries.

The Software Design Ontology Project aims at the interoperability of legacy software system understanding, analysis and migration toolsets, particularly in the context of web migration projects.

The Transformation Engineering Toolkit for Eclipse (TETE) is an IBM Eclipse Innovation project aimed at facilitating effective learning and use of the source transformation paradigm of TXL and related transformation technologies using the Eclipse meta-environment.

And Software Tuning Panels for Autonomic Control (STAC) is another IBM Eclipse Innovation project whose goal is the automatic rearchitecting of software systems for autonomic control.

The Whole Website Understanding Project (WWSUP)

Prof. J.R. Cordy, Prof. T.R. Dean, Xinping Guo, Mykyta Synytskyy, Scott Grant, Ariel Li

The Whole Website Understanding Project (WWSUP) explores the analysis and design-level understanding of entire websites from their source code. The project seeks to automate an understanding that transcends boundaries between languages (HTML, style sheets, Visual Basic, JavaScript, Java, Perl, etc.), and technologies (client, server, database). The goal is to allow exploration of improvements to the architecture and abstract design of websites using refactorings that cross language and technology boundaries in order to improve website maintainability and long term evolution.

This is a long term project with many facets and interesting challenges. Current work involves the integrated parsing of client side source languages (HTML, Visual Basic, JavaScript), client side clone detection and refactoring, and Java applet design recovery, analysis and migration.

J.R. Cordy, T.R. Dean and N. Synytskyy, "A Language-Independent Approach to Detection of Near-Miss Clones", Proc. CASCON'04, 14th IBM Centre for Advanced Studies Conference, Toronto, October 2004 (to appear), 12 pp. (Best paper award).

S. Grant and J.R. Cordy, "An Interactive Interface for Refactoring Using Source Transformation", Proc. REFACE'03, 1st International Workshop on Refactoring: Achievements, Challenges, Effects, Victoria, November 2003, pp. 30-33.

N. Synytskyy, J.R. Cordy and T.R. Dean, "Robust Multilingual Parsing Using Island Grammars", Proc. CASCON 2003, 13th IBM Centres for Advanced Studies Conference, Toronto, October 2003, pp. 149-161.

N. Synytskyy, J.R. Cordy and T.R. Dean, "Resolution of Static Clones in Dynamic Web Pages", Proc. WSE 2003, IEEE 5th International Workshop on Web Site Evolution, Amsterdam, September 2003, pp. 49-58.

X. Guo, J.R. Cordy and T.R. Dean, "Unique Renaming of Java Using Source Transformation", Proc. SCAM 2003, IEEE 3rd International Workshop on Source Code Analysis and Manipulation, Amsterdam, September 2003, pp. 151-160.

The Software Design Ontology Project

Prof. J.R. Cordy, Prof. T.R. Dean, Dean Jin

The Software Design Ontology Project is aimed at the problem of interoperability of legacy software system understanding, analysis and migration toolsets. While many different practical systems for software system understanding and analysis have been demonstrated, each uses it own unique format, technology and schema to represent recovered software design information. Using a constructive approach to deriving a shared "domain ontology" for software design concepts that can be used as a bridge between different formats, schemas and tools.

Current work on this project has derived a taxonomy of styles of schema use in software understanding systems, and is in the process of analyzing a range of software understanding and analysis tools. By partitioning the interaction of these tools with their databases into a set of conceptual transactions, we hope to constructively derive a domain ontology for software understanding that can be used, for example, to adapt one tool's software analysis services to another tool's software understanding database. 

D. Jin and J.R. Cordy, "Ontology-Based Software Analysis and Reengineering Tool Integration: The OASIS Service-Sharing Methodology", Proc. ICSM 2005, IEEE 21st International Conference on Software Maintenance, Budapest, September 2005, 4 pp. (to appear).

D. Jin and J.R. Cordy, "A Service Sharing Approach to Integrating Program Comprehension Tools", Proc. European Software Engineering Conference (ESEC) / ACM Symposium on the Foundations of Software Engineering (FSE) 2003 Workshop on Tool Integration in System Development, Helsinki, September 2003, pp. 73-78.

D. Jin, J.R. Cordy and T.R. Dean, "Transparent Reverse Engineering Tool Integration Using a Conceptual Transaction Adapter", Proc. CSMR 2003, IEEE 7th European Conference on Software Maintenance and Reengineering, Benevento, Italy, March 2003, pp. 399-408.

D. Jin, J.R. Cordy and T.R. Dean, "Where's the Schema? A Taxonomy of Patterns for Software Exchange", Proc. IWPC 2002 - IEEE 10th International Workshop on Program Comprehension, Paris, June 2002, pp. 65-74.

The Transformation Engineering Toolkit for Eclipse

Prof. J.R. Cordy, Derek Shimozawa, Adrian Thurston

The goal of this project is to make it possible for instructors to more rapidly bring state of the art transformation techniques into the undergraduate curriculum with a minimum of overhead. Transformations are playing an increasingly important role in industrial solutions. By removing barriers to learning about them by providing a custom workbench for understanding and authoring transformations couched in the familiar Eclipse environment, TETE will help to make it possible for more students and instructors to discover and explore this important new technology, and for experienced practitioners to more effectively exploit and explore source transformation as a primary software manipulation technology.

D. Shimozawa and J.R. Cordy, "TETE: A Source Transformation Environment for Eclipse", Eclipse Research-Industry Technology Exchange, EclipseCon 2005, Burlingame, California, February 2005, 2 pp.

J.R. Cordy, "Comprehending Reality: Practical Challenges to Software Maintenance Automation", Proc. IWPC 2003, IEEE 11th International Workshop on Program Comprehension, Portland, Oregon, May 2003, pp. 196-206 (Keynote paper).

T.R. Dean, J.R. Cordy, A.J. Malton and K.A. Schneider, "Grammar Programming in TXL", Proc. SCAM'02 - IEEE 2nd International Workshop on Source Code Analysis and Manipulation, Montreal, October 2002, pp. 93-102.

J.R. Cordy, T.R. Dean, A.J.. Malton and K.A.. Schneider, "Source Transformation in Software Engineering using the TXL Transformation System", Special Issue on Source Code Analysis and Manipulation, Journal of Information and Software Technology 44,13 (October 2002), pp. 827-837.

Software Tuning Panels for Autonomic Control

Prof. J.R. Cordy, Liz Dancy, Nevon Brake

This project leverages existing software analysis, refactoring and transformation techniques to identify and isolate tuning and other system parameters in a separate "tuning panel" for the software system. In essence, the goal is to provide a framework to automate the rearchitecting of software systems for more effective autonomic operation by getting the software "knobs and switches" all in one place, without violating the integrity and maintainability of the system. The problem is roughly analogous to the problem of hardware layout constraints that provide for contacts or controls to be isolated at the accessible edges of a silicon chip or printed circuit board while maintaining the architectural integrity of the circuit.


Cordy Home

Last updated 7 April 2007