| James
                  R. Cordy Software Systems and
                  Languages 
                  
                  
 Software
                  Systems and LanguagesEach of these
                     software systems represents a concrete result of
                     my past research and development projects in
                     academia and industry. J.R. Cordy
                  and C.K. Roy,The NICAD Clone Detector (2010),
                                  
                  NICAD
                  Website
 NICAD Version 3.5 (2013).
 The NiCad Clone
                     Detector is a scalable, flexible clone detection
                     tool designed to implement the NiCad (Automated
                     Detection of Near-Miss Intentional Clones)
                     hybrid clone detection method in a convenient,
                     easy-to-use command-line tool that can easily be
                     embedded in IDEs and other environments. It
                     takes as input a source directory or directories
                     to be checked for clones and a configuration
                     file specifying the normalization and filtering
                     to be done, and provides output results in both
                     XML form for easy analysis and HTML form for
                     convenient browsing.
                     
                     NiCad handles a range of
                     languages, including C, Java, Python, and C#,
                     and provides a range of normalizations, filters
                     and abstractions. It is designed to be easily
                     extensible using a component-based plugin
                     architecture. It is scalable to very large
                     systems and has been used to analyze, for
                     example, all 47 releases of FreeBSD (60 million
                     lines) as a single system. J.R. Cordy
                  et al.,The TXL Dialect Transformer
                  (1985),
 The TXL Programming Language
                  (1991),                
                  TXL
                  Website
 The TXL Transformation System
                  (1995),
 TXL Version 10.6 (2013q)
 A unique programming
                     language and software analysis / transformation
                     system designed and implemented by the author
                     with the help of several graduate students. TXL
                     has been commercially distributed by Legasys
                     Corporation, Kingston, and free for research use
                     by Queen's University and Prime Time Freeware. A
                     new XML-based freeware implementation FreeTXL
                     was released in 2002. Over ten thousand copies
                     of TXL have been distributed worldwide over the
                     past twenty years.
                     
                     TXL is the evolving result
                     of more than fifteen years of concentrated
                     research on rule-based structural transformation
                     as a paradigm for the rapid solution of complex
                     computing problems. It has been used in industry
                     by NRC, NASA, Intel, AT&T, Sun
                     Microsystems,Digital Equipment Corp., IBM,
                     Honeywell, MathSoft, GeoVision, Hewlett-Packard,
                     Praxis, Adobe, Motorola, Prime Computer, CAMAX
                     Manufacturing, General Electric, Canon,
                     Ericsson, British Telecom, Concurrent Computer
                     Corp. and many others. Legasys Corporation
                     (Kingston) was founded to exploit industrial
                     applications of TXL. TXL was the primary
                     technology used to implement LS/2000, the
                     automated Year 2000 analysis and conversion
                     system used by the Bank of Nova Scotia, the
                     Royal Bank of Canada and many other clients at
                     IBM's Transformation 2000 conversion centre.
                     Embarcadero Technologies (Boulder, Colorado)
                     uses TXL in their successful Describe line of
                     software engineering products. In academia, TXL supports
                     research at academic institutions all over the
                     world, including Queen's, Toronto,
                     Québec, Montréal, Montréal
                     Polytechnic, Alberta, York and Waterloo
                     (Canada), Rutgers, Penn State, Illinois, North
                     Carolina and Southern Louisiana (U.S.A.), IMAG
                     (France), Imperial College and Edinburgh (UK),
                     Aachen, Berlin, Karlsruhe, Munich and Ulm
                     (Germany), IRST and Pisa (Italy), Delft
                     (Netherlands), Bern (Switzerland), Warsaw and
                     Wroclaw (Poland), Patras (Greece), Melbourne and
                     New South Wales (Australia), Hallym (South
                     Korea), Natal (South Africa), IIT (India), and
                     the Catholic University of Rio de Janeiro
                     (Brazil). K.A.
                  Schneider, J.R. Cordy, T.R. Dean, A.J. Malton
                  et al.,Legasys LS/2000 Automated Year 2000
                  Conversion System (1996),
 Legasys LS/AMT Automated Software Maintenance
                  System (1999).
 A design recovery
                     based software analysis and maintenance system
                     implemented using TXL and several proprietary
                     software technologies researched and developed
                     at Legasys Corporation from 1995-2000.
                     
                     LS/2000 was the automated
                     Year 2000 analysis and conversion system used by
                     the Bank of Nova Scotia, the Royal Bank of
                     Canada and many other clients at IBM's
                     Transformation 2000 conversion centre to analyze
                     and automatically reprogram over three billion
                     lines of Cobol, PL/I and RPG source code to
                     avoid the millennium bug. LS/AMT is a comprehensive
                     and scalable generalization of LS/2000 to
                     arbitrary software analysis and large scale
                     change tasks such as language, platform and web
                     migrations. LS/AMT has already been used to
                     process over one billion lines of source code in
                     support of large scale software maintenance
                     tasks such as airline and bank
                     mergers. R.C. Holt
                  and J.R. Cordy,The Turing Programming Language
                  (1983),                
                  Turing
                  Website
 Turing Plus (1985),
 Object-Oriented Turing
                  (1992).
 An educational
                     programming language and computer software
                     system commercialized and distributed by Holt
                     Software Associates Ltd., Toronto, 1985-present.
                     Designed by the authors and implemented under
                     their supervision.
                     
                     Turing has been used in
                     teaching computer science courses at the
                     University of Toronto, York University, Queen's
                     University and the University of Waterloo and at
                     more than 40 other universities and school
                     boards in Canada, the United States, Europe and
                     Australia. Turing is still the primary
                     programming language taught at over 50% of
                     secondary schools in Ontario and at several
                     universities. J.R. Cordy
                  and T.C.N. Graham,EPE: the Educational Programming
                  Environment (1986).
 An educational
                     integrated program development environment and
                     user interface commissioned by the Ontario
                     Ministry of Education. Designed and implemented
                     by the authors. EPE was widely used in
                     universities and school boards in Canada and
                     abroad as the "Turing Programming
                     Environment". R.C. Holt
                  and J.R. Cordy,The Concurrent Euclid Programming
                  Language (1981).
 A programming
                     language and computer software system designed
                     for the implementation of concurrent processes
                     and operating systems. Commercialized and
                     distributed by Holt Software Associates Ltd.,
                     Toronto, 1985-89. Designed and implemented by
                     the authors.
                     
                     Used for several years in
                     teaching operating systems courses at a number
                     of universities and technical schools in Canada
                     and the U.S. including the University of
                     Toronto, Queen's, Alberta, Saskatchewan and
                     Washington, and in industry by a number of
                     companies. J.R. Cordy,
                  R.C. Holt and D.B. Wortman,S/SL: The Syntax/Semantic Language
                  (1980).
 A general
                     methodology and software skeleton for the
                     construction of programming language compilers
                     and interpreters. Designed and first implemented
                     by the authors based on my M.Sc. thesis
                     research.
                     
                     The S/SL method of
                     compiler construction has been independently
                     implemented and used by many companies and
                     research institutes in many different languages
                     over the past 15 years. Most recently S/SL has
                     been used by IBM as the core technology in their
                     new line of high performance programming
                     language compilers (1997). R.C. Holt,
                  D.B. Wortman, J.R. Cordy, D.R. Crowe and I.H.
                  Griggs,The Toronto Euclid Compiler
                  (1980),
 Euclid Version 2 (1984).
 The first
                     implementation of the radically innovative
                     Euclid programming language commissioned by the
                     Defense Advanced Research Projects Agency of the
                     U.S. Department of Defense and the Canadian
                     Department of National Defence. I served as
                     chief programmer on the two year, two million
                     dollar project
                     
                     Used for some years by
                     I.P. Sharp Associates, Mitre Corporation, SRI
                     International and various other international
                     institutes for research in systems programming
                     and secure software systems. R.C. Holt,
                  D.B. Wortman, D.T. Barnard and J.R. Cordy,The SP/k Programming Language
                  (1977).
 A PL/I subset
                     programming language and software system
                     designed for teaching computer programming.
                     Designed and implemented by the authors. Used
                     for teaching computer programming at
                     approximately 40 universities, school boards and
                     research laboratories for several
                     years.  
                  
                  Cordy
                  Home
 Last updated 7 April
                  2007 |