James Cordy
{{short description|Canadian computer scientist and educator|bot=PearBOT 5}}
{{Infobox scientist
| name = James Cordy
| image = Cordy2008.jpg
| image_size =
| alt =
| caption =
| birth_name = James Reginald Cordy
| birth_date = {{birth date and age|1950|01|02}}
| birth_place =
| death_date =
| death_place =
| residence =
| citizenship = Canada
| nationality =
| fields = Computer Science
| workplaces = University of Toronto
Queen's University
| alma_mater = Victoria College
University of Toronto
| doctoral_advisor = Richard C. Holt
| academic_advisors =
| doctoral_students =
| notable_students =
| known_for = Turing, TXL, S/SL, NICAD clone detector
| author_abbrev_bot =
| author_abbrev_zoo =
| influences =
| influenced =
| awards = ACM Distinguished Scientist (2008)
IBM CAS Faculty Fellow of the Year (2008, 2013)
CS-Can/Info-Can Lifetime Achievement Award (2019)
| signature =
| signature_alt =
| footnotes =
| ethnicity =
| religion =
}}
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,J.R. Cordy, "The TXL Source Transformation Language", Science of Computer Programming 61,3 (August 2006), pp. 190-210 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.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 His recent work on the NICAD clone detectorC.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 with Ph.D. student Chanchal Roy, the Recognition Strategy LanguageR. 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 with Ph.D. student Richard Zanibbi and Dorothea Blostein, the CernoN. 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 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 StevensonM.H. Alalfi, J.R. Cordy, T.R. Dean, M. Stephan and A. Stevenson, "Models are Code Too: Near-miss Clone Detection for Simulink Models", Proc. ICSM 2012 - IEEE International Conference on Software Maintenance, Riva del Garda, Italy, September 2012, pp. 295-304 is based on TXL.
The 1995 paper A Syntactic Theory of Software ArchitectureT.R. Dean and J.R. Cordy, "A Syntactic Theory of Software Architecture", IEEE Transactions on Software Engineering 21,4 (January 1995), pp. 302-313. 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.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
Work in programming languages included the design of Concurrent EuclidJ.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 (1980) and TuringR.C. Holt and J.R. Cordy, "The Turing Language Report", Technical Report CSRI-153, Computer Systems Research Institute, University of Toronto, December 1983R.C. Holt and J.R. Cordy, The Turing Programming Language, Communications of the Association for Computing Machinery 31,12 (December 1988), pp. 1410-1423 (1983), with R.C. Holt, and the implementation of the EuclidD.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 (1978) and SP/kR.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. (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 technologyR.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 with R.C. Holt and D.B. Wortman based on his M.Sc. thesis workJ.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 and the orthogonal code generation method based on his Ph.D. thesis work.J.R. Cordy and R.C. Holt, "Code Generation Using an Orthogonal Model", Software-Practice and Experience 20,3 (March 1990), pp. 301-320
He has co-authored or co-edited the books The Turing Programming Language: Design and DefinitionR.C. Holt, P.A. Matthews, J.A. Rosselet and J.R. Cordy, The Turing Programming Language: Design and Definition, Prentice-Hall, 1988 (1988), Introduction to Compiler Construction Using S/SLJ.R. Cordy, Introduction to Compiler Construction Using S/SL : the Syntax/Semantic Language, Queen's University, 1986, (5th edition, August 2006) (1986), The Smart InternetM. 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 (2010), and The Personal WebM. 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 (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.{{Cite web |url=http://awards.acm.org/homepage.cfm?alpha=C&srt=alpha&awd=157 |title=ACM Awards |url-status=dead |archive-url=https://web.archive.org/web/20120402214109/http://awards.acm.org/homepage.cfm?alpha=C&srt=alpha&awd=157 |archive-date=2012-04-02 |access-date=2011-03-31}} He is a prolific academic supervisor and in 2008 was recognized with the Queen's University Award of Excellence in Graduate Supervision.{{cite web |url=http://www.queensu.ca/ctl/awards/internal-awards/university-wide-awards#Award%20for%20Excellence%20in%20Graduate%20Student%20Supervision |url-status=dead |archive-url=https://web.archive.org/web/20151001051147/http://www.queensu.ca/ctl/awards/internal-awards/university-wide-awards |archive-date=2015-10-01 |title=University Wide Awards {{!}} Centre for Teaching and Learning}} In 2016 he won the Queen's University Prize for Excellence in Research.{{Cite web|url=http://www.queensu.ca/vpr/prizes-awards/award-winners/prizes-excellence-research|title = Prizes for Excellence in Research | Queen's University}} In 2019 he was recognized with the CS-Can/Info-Can Lifetime Achievement Award.{{Cite web|url=https://cscan-infocan.ca/awards/james-r-cordy/|title = James R. Cordy}}
References
External links
- [http://www.cs.queensu.ca/home/cordy Personal page at Queen's University]
{{Authority control}}
{{DEFAULTSORT:Cordy, James R.}}
Category:University of Toronto alumni
Category:Software engineering researchers
Category:Programming language researchers