James Cordy
James Reginald Cordy (born January 2, 1950) is a Canadian computer scientist and educator who is Professor Emeritus in the School of Computing at Queen's University. As a researcher he is most recently 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 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, the Cerno lightweight natural language understanding system with John Mylopoulos and others at the University of Trento, and the SIMONE model clone detector with Manar Alalfi, Thomas R. Dean, Matthew Stephan and Andrew Stevenson 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. He has co-authored or co-edited the books The Turing Programming Language: Design and Definition (1988), Introduction to Compiler Construction Using S/SL (1986), The Smart Internet (2010), and The Personal Web (2013). From 2002 to 2007 he was the Director of the Queen's School of Computing. In 2008 he was elected a Distinguished Scientist of the Association for Computing Machinery. He is a prolific academic supervisor and in 2008 was recognized with the Queen's University Award of Excellence in Graduate Supervision. In 2016 he won the Queen's University Prize for Excellence  in Research. In 2019 he was recognized with the CS-Can/Info-Can Lifetime Achievement Award.