James Cordy
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,[1] 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.[2] His recent work on the NICAD clone detector[3] with Ph.D. student Chanchal Roy, the Recognition Strategy Language[4] with Ph.D. student Richard Zanibbi and Dorothea Blostein, and the Cerno[5] 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[6] 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.[7]
Work in programming languages included the design of Concurrent Euclid[8] (1980) and Turing[9][10] (1983), with R.C. Holt, and the implementation of the Euclid[11] (1978) and SP/k[12] (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[13] with R.C. Holt and D.B. Wortman based on his M.Sc. thesis work[14] and the orthogonal code generation method based on his Ph.D. thesis work.[15]
He has co-authored or co-edited the books The Turing Programming Language: Design and Definition[16] (1988), Introduction to Compiler Construction Using S/SL[17] (1986), The Smart Internet[18] (2010), and The Personal Web[19] (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.[20]
References
- ↑ J.R. Cordy, "The TXL Source Transformation Language", Science of Computer Programming 61,3 (August 2006), pp. 190-210
- ↑ J.R. Cordy, C.D. Halpern and E. Promislow, TXL: A Rapid Prototyping System for Programming Language Dialects, Computer Languages 16,1 (January 1991), pp. 97-107
- ↑ C.K. Roy and J.R. Cordy, NICAD: Accurate Detection of Near-miss Clones Using Flexible Pretty-printing and Code Normalization, Proc. ICPC 2008, IEEE International Conference on Program Comprehension, Amsterdam, June 2008, pp. 172-181
- ↑ R. Zanibbi, D. Blostein and J.R. Cordy, "The Recognition Strategy Language", Proc. ICDAR 2005 - IAPR 8th Intl. Conf. on Document Analysis and Recognition, Seoul, Korea, August 2005, pp. 565-569
- ↑ N. Kiyavitskaya, N. Zeni, J.R. Cordy ,L. Mich and J. Mylopoulos, Cerno: Light-Weight Tool Support for Semantic Annotation of Textual Documents, Data & Knowledge Engineering 68,12 (Dec. 2009), pp. 1470-1492
- ↑ T.R. Dean and J.R. Cordy, "A Syntactic Theory of Software Architecture", IEEE Transactions on Software Engineering 21,4 (January 1995), pp. 302-313.
- ↑ T.R. Dean, J.R. Cordy, K.A. Schneider and A.J. Malton, "Experience Using Design Recovery Techniques to Transform Legacy Systems", Proc. ICSM 2001 - IEEE International Conference on Software Maintenance, Florence, Nov. 2001, pp. 622-631
- ↑ J.R. Cordy and R.C. Holt, The Concurrent Euclid Report, Technical Reports CSRI-115 and CSRI-133, Computer Systems Research Institute, University of Toronto, July 1980
- ↑ R.C. Holt and J.R. Cordy, "The Turing Language Report”, Technical Report CSRI-153, Computer Systems Research Institute, University of Toronto, December 1983
- ↑ R.C. Holt and J.R. Cordy, The Turing Programming Language, Communications of the Association for Computing Machinery 31,12 (December 1988), pp. 1410-1423
- ↑ D.B. Wortman and J.R. Cordy, Early Experiences with Euclid, Proc. ICSE-5, IEEE 5th International Conference on Software Engineering, San Diego, March 1981, pp. 27-32
- ↑ R.C. Holt, D.B. Wortman, D.T. Barnard and J.R. Cordy, "SP/k: A System for Teaching Computer Programming”, Comm. of the Association for Computing Machinery 20,5 (May 1977), pp. 301-309.
- ↑ R.C. Holt, J.R. Cordy and D.B. Wortman, An Introduction to S/SL: Syntax/Semantic Language, ACM Transactions on Programming Languages and Systems 4,2 (April 1982), pp. 149-178
- ↑ J.R. Cordy, R.C. Holt and D.B. Wortman, Semantic Charts: A Diagrammatic Approach to Semantic Processing, Proc. ACM 1979 SIGPLAN Symposium on Compiler Construction, ACM SIGPLAN Notices Vol. 14, No. 8, August 1979, pp. 39-49
- ↑ J.R. Cordy and R.C. Holt, "Code Generation Using an Orthogonal Model”, Software-Practice and Experience 20,3 (March 1990), pp. 301-320
- ↑ R.C. Holt, P.A. Matthews, J.A. Rosselet and J.R. Cordy, The Turing Programming Language: Design and Definition, Prentice-Hall, 1988
- ↑ J.R. Cordy, Introduction to Compiler Construction Using S/SL : the Syntax/Semantic Language, Queen's University, 1986, (5th edition, August 2006)
- ↑ M. Chignell, J.R. Cordy, J. Ng and Y. Yesha (eds.), The Smart Internet: Current Research and Future Applications, Lecture Notes in Computer Science 6400, Springer Verlag, 2010
- ↑ M. Chignell, J.R. Cordy, R.Kealey, J. Ng and Y. Yesha (eds.), The Personal Web: A Research Agenda, Lecture Notes in Computer Science 7855, Springer Verlag, 2013
- ↑ http://awards.acm.org/homepage.cfm?alpha=C&srt=alpha&awd=157