Events - Colloquia & Seminars
CCIS Colloquium Spring 2005
Enhancing Programs Behind the Scenes
Speaker: Eli Tilevich
Georgia Institute of Technology
Host: Karl Lieberherr
Date: Feb 22, 2005
Talk: 11:00am, 366 WVH
Abstract
Common program enhancement tasks include adding capabilities such as distribution, persistence, and logging to the core functionality of a computer program. Traditionally, program enhancement has entailed having to modify the source code of a program explicitly. Our research explores an alternative approach that adds new capabilities to existing programs transparently, without affecting the maintained version of their source code. This presentation will cover two domains of such transparent program enhancement: enabling safe distribution of Java programs and introducing optimizing transformations in object-oriented programs.
The first domain is concerned with the problem of evolving a centralized program into a distributed program using language tools, aiming to enable distributed programming with a programming model/semantics that closely resembles centralized programming. This presentation will describe J-Orchestra, our flagship language tool for distributed computing. J-Orchestra (http://www.j-orchestra.org) is an automatic partitioning system that takes as input a Java application in bytecode format and transforms it into a distributed application, running across multiple standard JVMs.
The other domain is concerned with introducing optimizing transformations in object-oriented programs without modifying their source code by means of binary refactoring, a novel software engineering technique. The raison d'ĂȘtre of binary refactoring is not that current programs need more optimization but that programmers already apply code structure transformations for performance reasons, yet these transformations unnecessarily pollute the source code and affect its maintainability. With binary refactoring all such transformations can be codified and applied through a refactoring browser without affecting the application source code.
Biography
Eli Tilevich is a Ph.D. candidate in Computer Science at the Georgia Institute of Technology working with Dr. Yannis Smaragdakis. He obtained a B.A. Summa Cum Laude from Pace University and an M.S. from NYU and worked for several years in New York as a software developer. His research interests are on the systems/languages end of Software Engineering, spanning distributed systems, object-oriented programming, and software technology.