courses
This course will concentrate on state-of-the-art code optimization techniques used in compilers for modern processors, with a quantitative framework for designing and evaluating these techniques. Students will be introduced to a wide range of restructuring transformations and optimization techniques for improving the performance of compiler-generated code. August 12-16, 1996. WICS and Stanford University.
Computer Science Department
Mary Washington College
College of Computing
Georgia Institute of Technology
Algonquin College Computer Studies
Math and Computer Science Department
Indiana University South Bend
Information about the teaching of the concepts of programming languages, especially undergraduate survey courses and courses about programming language semantics.
Instructor: Ira Baxter
Software maintenance costs dominate software engineering costs, partly because most such engineering is done manually. Program transformation tools leverage an engineer-provided base of "transforms" (a kind of generative reuse of programming knowledge), to automate analysis, modification, and generation of software, enhancing productivity and quality over conventional methods. This tutorial provides a complete overview of Program Transformation, from theory to implementation to application. Several real transformation systems are examined, with application examples including automated detection and removal of duplicate code from large systems, and the potential for semi-automated refactoring of large object frameworks. The tutorial progresses from introductory to intermediate, but all the necessary background will be provided. Attendees need only have basic software engineering knowledge and motivating experience in modifying software. The presenter has been designing and using transformation systems for 20 years, and is the principal behind the DMS transformation system for large scale software reengineering.
Duration: Half or full day.
Offered: Irregularly, on demand.
Instructor: Semantic Designs Staff member
SD's DMS Software Reenginineering Toolkit enables automated custom analysis and modification of large-scale software systems. This course provides a detailed tour of the Reengineering Toolkit subsystems, and provides detailed, pragmatic information to enable the student to understand and apply the Toolkit effectively. It covers defining UNICODE-capable lexers, context-free parsing, construction of robust prettyprinters, attribute evaluation for extracting information from parse trees, construction of symbol tables for name/type resolution, surface-syntax rewriting/program transformation, and how to program in PARLANSE, SD' parallel programming language that underlies DMS. Considerable hands-on exercises are performed interleaved with instruction.
Duration : 10 days (2 weeks).
Offered: Irregularly, on demand.