Research
Papers & Posters
- Consolidating WSDL Descriptions of Web Services (Paper)
Douglas Martin and James R Cordy - SITCON 2009 - Restructuring WSDL - A Technique for Effective Similarity Detection (Poster)
Douglas Martin and James R Cordy - CASCON 2009 - Towards Web Services Tagging by Similarity Detection (Book Chapter)
Douglas Martin and James R Cordy - The Smart Internet: Current Research and Future Applications, Lecture Notes in Computer Science 6400, Springer Verlag, October 2010 - Towards Web Services Tagging by Similarity Detection (Poster)
Douglas Martin and James R Cordy - CASCON 2010 - WSCells for the Personal Web (Paper)
Douglas Martin and James R Cordy - First Personal Web Symposium 2010 - Analyzing Web Service Similarity Using Contextual Clones (Paper)
Douglas Martin and James R Cordy - International Workshop on Software Clones 2011 - Contextualized Semantic Analysis of Web Services (Paper)*
Scott Grant, Douglas Martin, James R Cordy and David Skillicorn - IEEE International Symposium on Web Systems Evolution 2011 - WSDL Workbench (Poster)
Douglas Martin and James R Cordy - CASCON 2011 - Towards Web Service Tagging By Similarity Detection (MSc Thesis)
Douglas Martin - Querying WSDL Repositories with Grok (Poster)
Douglas H Martin, James R Cordy, and Thomas R Deam - CASCON 2012 - Make It Simple - An Empirical Analysis of GNU Make Feature Use in Open Source Projects (Paper)
Douglas H Martin, James R Cordy, Bram Adams, and Giulio Antoniol - International Conference on Program Comprehension 2015 - On the Maintenance Complexity of Makefiles (Paper)
Douglas H Martin and James R Cordy - Workshop on Emerging Trends in Sofware Metrics (WETSoM) 2016 - An Empirical Analysis of GNU Make in Open Source Projects (PhD Thesis)
Douglas H Martin
Tools / Downloads
Makefile Corpus
As part of my PhD research, I compiled a corpus of approximately 20k Makefiles across 271 open source projects - from the hand-written Makefiles of Android and the Linux kernel, to Makefiles generated from CMake, QMake, and Automake. Makefiles included were collected from the latest version of projects updated between January 2010 and October 2015.
Makefile Framework
In our work studying Makefiles, we developed a framework for statically analyzing them using TXL. The framework consists of a Makefile grammar for TXL, TXL rules for extracting and counting features, as well as some scripts to run them.
Download Makefile Analysis Framework
Requirements:
- Bash/C Shell
- TXL (available at http://txl.ca/)
- Ruby(available at https://www.ruby-lang.org/ - installed by default on some distributions)
Makefile Analyses
For my PhD thesis, I conducted to analyses. The details of each analysis can be read in the publications above. The data is provided below:
Download Make Feature Analysis Data
Download Make Complexity Analysis Data
Web Services Restructuring of Descriptions (WSRD)
As part of my research, I developed a tool called WSRD (Web Service Restructuring of Descriptions) that gathers related pieces of operations inside WSDL descriptions into self-contained units called Web Service Cells, or WSCells (pronounced “wizzles”). WSCells make WSDL more human-readable and better suited for analysis of operations.
WSRD includes a set of scripts that automate the generation of the complete set of WSCells for all WSDL files in a directory. The actual restructuring is accomplished using a source transformation language called TXL. Extracted WSCells can either be listed in a single file, or separated into individual files.
Requirements:
- Bash Shell
- TXL (available at http://txl.ca/)
- Python (available at http://www.python.org/ - installed by default on some distributions)
- dos2unix (utility NOT installed by default on some distributions - use "sudo apt-get install tofrodos" on Ubuntu)
wsdlToGrok - From CASCON 2012 Demo
In our work with WSDL, we found it very tedious to look up operations to see what they have in common, and difficult to find similar operations before analysis in order to calculate the recall of the approaches we tried using to discover these relationships (clone detection and LDA). In this project, we use TXL and Grok to extract facts from WSDL files and query those facts to answer questions about WSDL descriptions. The extractor is available here for you to use.
Requirements:
- Bash Shell
- TXL (available at http://txl.ca/)
- Grok (available via the QLDX pipeline - found in the "bin" directory - available at http://www.swag.uwaterloo.ca/qldx/)
For more information about Grok and how to use it, see http://www.swag.uwaterloo.ca/jgrok/grokdoc/index.html