Program Analysis, Transformation and Visualization


Program Analysis, Transformation and Visualization

This is the homepage for the Program Analysis, Transformation, and Visualization group, which is part of Software Development Technology. We are interested in tools and techniques that assist programmers in understanding the behavior of programs, and in making maintenance-related modifications to programs.

Activities

The following is a list of recent activities:
Development of efficient analysis/slicing tools for use in Year2000 transformations of Cobol and PL/I programs. This is currently the main focus of our work.
Menagerie. an interactive tool for computing constrained program slices of C programs. Menagerie allows a programmer to select a program point of interest, then determines those statements that may affect the values computed at that point, given a set of constraints on the program's inputs that are specified by the programmer. Constrained program slices are a generalized form of the traditional notions of static and dynamic program slices.
IBM VisualAge for Cobol. We delivered a slicing tool for Cobol, which was shipped as a component of the IBM VisualAge for Cobol Professional Edition. We are continuing to work on enhancements to this tool.
NARC. Development of the NARC (Nodes and ARCs) graph toolkit, which provides a high level interface to create and manipulate graphs as part of a user interface. NARC provides services for display, layout, and user interaction with a graph. NARC is the graph engine in the IBM Visual Age C++ product, IBM VisualAge for Cobol and other IBM products.
Slicing and Specialization of C++ Class Hierarchies. We have developed two algorithms for detecting redundant components (i.e., members and inheritance relations) in C++ class hierarchies. The first of these algorithms, Class Hierarchy Slicing, removes members, or inheritance relations from a class hierarchy that are not used by any object. The second algorithm, Class Hierarchy Specialization, also removes unused members or inheritance relations, but is capable of making finer distinctions at the object-level, rather than the class level.

Recent publications

Here is a list of recent publications by group members:
T.B. Dinesh and Frank Tip, A Slicing-Based Approach for Locating Type Errors, To appear in Proceedings of USENIX Conference on Domain-Specific Languages (DSL'97), (Santa Barbara, CA, October 15-17 1997).
Frank Tip and Peter F. Sweeney, Class Hierarchy Specialization, To appear in Proceedings of the Twelfth Annual Conference on Object-Oriented Programming Systems, Languages, and Applications (OOPSLA'97), (Atlanta, GA, October 5-9 1997).
G. Ramalingam, On Sparse Evaluation Representations, To appear in the Proceedings of the Fourth International Static Analysis Symposium, (Paris, France, September, 1997).
G. Ramalingam and Harini Srinivasan, A Member Lookup Algorithm for C++, In Proceedings of the ACM SIGPLAN '97 Conference on Programming Language Design and Implementation, (Las Vegas, NV, June 15-18, 1997), pp.18-30.
Frank Tip, Jong-Deok Choi, John Field, and G. Ramalingam, Slicing class hierarchies in C++, In Proceedings of the Eleventh Annual Conference on Object-Oriented Programming Systems, Languages, and Applications (OOPSLA'96), (San Jose, CA, October 6-10, 1996), pp. 179-197.
J.A. Bergstra, T.B. Dinesh, John Field, and J. Heering, A Complete Transformational Toolkit for Compilers, In Proceedings of the European Symposium on Programming (ESOP'96), (Linkoping, Sweden, April 1996), Springer-Verlag LNCS Vol. 1058, extended version to appear in ACM Transactions on Programming Languages and Systems.
Frank Tip, A survey of program slicing techniques, Journal of Programming Languages 3(3), (1995), 121-189.
A Log N Line Crossing Algorithm for Levelled Graphs, Vance Waddle and A. Malhotra IBM Research Report RC 20685
G. Ramalingam, Bounded Incremental Computation, Lecture Notes in Computer Science, Vol. 1089, Springer-Verlag (1996). (A revised version of Ramalingam's Ph.D. Thesis.)
G. Ramalingam, Data Flow Frequency Analysis, In Proceedings of the ACM SIGPLAN '96 Conference on Programming Language Design and Implementation, (Philadelphia, PA, May 21-24, 1996), pp.267-277.
John Field, G. Ramalingam, and Frank Tip, Parametric program slicing, In Conference Record of the Twenty-Second ACM Symposium on Principles of Programming Languages , (San Francisco, CA, January 23-25, 1995), pp. 379-392.

People

The Program Analysis, Transformation, and Visualization group consists of:
John Field (manager), (914) 784-6650
Doug Lorch, (408) 543-4907
G. Ramalingam, (914) 784-7351
Frank Tip, (914) 784-6294)
Vance Waddle, (914) 784-7739

Last modified Fri 12 Sept 1997. Contact: tip@watson.ibm.com


[Research home page]

[ IBM home page | Order | Search | ContactIBM | Legal ]