James Cordy | |
---|---|
Born | James Reginald Cordy January 2, 1950 |
Citizenship | Canada |
Fields | Computer Science |
Institutions |
University of Toronto Queen's University |
Alma mater |
Victoria College University of Toronto |
Doctoral advisor | Richard C. Holt |
Doctoral students | Thomas R. Dean, Medha Shukla Sarkar, Kevin A. Schneider, Dean Jin, Richard Zanibbi, Nadzeya Kiyavitskaya, Jeremy Bradbury, Adrian Thurston, Chanchal K. Roy, Manar Alalfi, Scott Grant, Asil Almonaies, Matthew Stephan |
Known for | Turing, TXL, S/SL, NICAD clone detector |
Notable awards |
ACM Distinguished Scientist (2008) IBM CAS Faculty Fellow of the Year (2008, 2013) |
James Reginald Cordy (born January 2, 1950) is a Canadian computer scientist and educator who is a Professor in the School of Computing at Queen's University. As a researcher he is currently active in the fields of source code analysis and manipulation, software reverse and re-engineering, and pattern analysis and machine intelligence. He has a long record of previous work in programming languages, compiler technology, and software architecture.
He is currently best known for his work on the TXL source transformation language, a parser-based framework and functional programming language designed to support software analysis and transformation tasks originally developed with M.Sc. student Charles Halpern-Hamu in 1985 as a tool for experimenting with programming language design. His recent work on the NICAD clone detector with Ph.D. student Chanchal Roy, the Recognition Strategy Language with Ph.D. student Richard Zanibbi and Dorothea Blostein, and the Cerno lightweight natural language understanding system with John Mylopoulos and others at the University of Trento is based on TXL.
The 1995 paper A Syntactic Theory of Software Architecture with Ph.D. student Thomas R. Dean has been widely cited as a seminal work in the area, and led to his work with Thomas R. Dean, Kevin A. Schneider and Andrew J. Malton on legacy systems analysis.
Work in programming languages included the design of Concurrent Euclid (1980) and Turing (1983), with R.C. Holt, and the implementation of the Euclid (1978) and SP/k (1974) languages with R.C. Holt, D.B. Wortman, D.T. Barnard and others. As part of these projects he developed the S/SL compiler technology with R.C. Holt and D.B. Wortman based on his M.Sc. thesis work and the orthogonal code generation method based on his Ph.D. thesis work.