University Collaborations


Technion - Israel Institue of Technology
       Ongoing   Erez Petrank
Harel Paz
   David F. Bacon
   
Multiprocessor Reference Counting Garbage Collection

ISRI, School of Computer Science, Carnegie Mellon University
       Ongoing   Uri Dekel
   Sara Porat
   
Distributed Software Development

École Polytechnique Fédéral de Lausanne
       Ongoing   Thomas A. Henzinger
   David F. Bacon
   
Automated Space/Time Trade-offs in Real-time Systems

INRIA, University of York, Universitdad Politecnica de Madrid, Universite Pierre at Marie Curie
       Ongoing   Jean Bezivin
Richard Paige
Miguel de Miguel
Xavier Blanc
   Alan Hartman
   
Theory, tools, and infrastructure for model driven development
  ·  Project Page

Rensselaer Polytechnic Institute
       Ongoing    Prof. Carlos Varela
   John Field
   
Programming Language Support for Reliable Internet-Scale Distributed Computing

Rutgers University
       Ongoing   Barbara Ryder
   Frank Tip
   
Joint change impact analysis project.

Technical University of Passau, Germany
       Ongoing   Gregor Snelting
   Frank Tip
   
Reengineering Class Hierarchies using Concept Analysis

A new method is presented for analyzing and reengineering class hierarchies. In our approach, a class hierarchy is processed along with a set of applications that use it, and a fine-grained analysis of the access and subtype relationships between objects, variables and class members is performed. The result of this analysis is again a class hierarchy, which is guaranteed to be behaviorally equivalent to the original hierarchy, but in which each object only contains the members that are required.

Our method is semantically well-founded in concept analysis: the new class hierarchy is a minimal and maximally factorized concept lattice that reflects the access and subtype relationships between variables, objects and class members.

The method is primarily intended as a tool for finding imperfections in the design of class hierarchies, and can be used as the basis for tools that largely automate the process of reengineering such hierarchies. The method can also be used as a space-optimizing source-to-source transformation that removes redundant fields from objects.

A prototype implementation for Java has been constructed, and used to conduct several case studies. Our results demonstrate that the method can provide valuable insights into the usage of the class hierarchy in a specific context, and lead to useful restructuring proposals.


Technion, Israel
       Ongoing   Dr. Yossi Gil
   Sara Porat
   
Java Analysis, Metrics and Automatic Documentation

Tel-Aviv University
       Ongoing   Mooly Sagiv
Roman Manevich
Noam Rinetzky
   John Field
G. Ramalingam
Eran Yhahav
   
Scalable software verification and error-detection

Universität Salzburg
       Ongoing   Christoph Kirsch
   David F. Bacon
   
Automated Space/Time Trade-offs in Real-time Systems

University of California at Berkeley
       Ongoing   Edward A. Lee
   David F. Bacon
   
Design and Implementation of Real-time Garbage-collected Applications

University of California at Santa Barbara
       Ongoing   Chandra Krintz (faculty)
Sunil Soman (PhD student)
   Peter F. Sweeney
   
Use vertical profiling to understand what garbage collection policies to use in a multicore/multithread computing environment.

University of California at Santa Barbara
       Ongoing   Chandra Krintz (faculty)
Priya Nagpurkar (PhD student)
   Michael Hind
Peter F. Sweeney
   
Phase shift detection: algorithms and evaluation

University of Southern California
       Ongoing   Barry Boehm
Chris Abts
Jongmoon Baik
A. Winsor Brown
Brad Clark
Ellis Horowitz
Ray Madachy
Don Reifer
Richard Selby
Bert Steece
   Sunita Chulani
   
COCOMO II is a model that allows one to estimate the cost, effort, and schedule when planning a new software development activity. It consists of three submodels, each one offering increased fidelity the further along one is in the project planning and design process. Listed in increasing fidelity, these submodels are called the Applications Composition, Early Design, and Post-architecture models. Tool support for COCOMO II provides a range on its cost, effort, and schedule estimates, from best case to most likely to worst case outcomes. It also allows a planner to easily perform "what if" scenario exploration, by quickly demonstrating the effect adjusting requirements, resources, and staffing might have on predicted costs and schedules (e.g., for risk management or job bidding purposes).
  ·  COCOMO II