Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
Bjarne Steensgaard's Recent Projects

Recent Projects

C# compiler (2001 - present)

Working on a C# compiler (MSIL to native code) and associated runtime system. This compiler and runtime system is the research vehicle for current work.

Singularity (2003 - present)

A managed-code operating system. Singularity is partially based upon the above compiler and runtime system.

Java compiler (1997-2000)

Worked on the Marmot java compiler, and in particular on the program analyses to be used by the compiler. The goal was to produce a Java compiler producing high-performance code for large Java programs.

Online representation of programs (1996-1997)

Helped build a system to provide programmatic access to C and C++ programs. Besides providing our group easy access to real applications, it also provides a foundation for various people to write interesting programming and testing tools.

Using type inference methods for pointer analyses (1995-1996, 2002-present)

Pointer analyses using dataflow methods may be impractical for realistic size programs. The use of types and type inference methods to perform program analyses may be the solution. In particular, I am investigating the use of type systems without union types.

The type inference based first pointer analysis algorithm I developed is described in a technical report. An improved algorithm including a simultaneous non-pointer analysis is described in a POPL'96 paper. An algorithm dealing with individual elements of structured objects in the presence of arbitrary data coercions by unions or casts of pointers to structures is described in a CC'96 paper.

I have also worked on pointer analysis algorithms based on intersection types (a polymorphic/polyvariant/context-sensitive analysis) and multi-level types, as well as a type inference algorithm with an initial typing based on optimistic SSA-form with dynamic fixup of the SSA-form. None of this is presently published.

Store Splitting (1994)

I developed the concept of store splitting. Store splitting makes a program representation more sparse. It was initially developed for the Value Dependence Graph (VDG), but it can also be used for SSA form. Erik Ruf demonstrated how points-to analysis by data-flow analysis can be performed faster using stores-splitting techniques (POPL'97 paper).


Last modified July 29, 2004.
Bjarne Steensgaard