Efficient Compilation of .NET Programs for Embedded Systems
Compiling under the Closed-World Assumption (CWA) has been shown to be an appropriate way for implementing object-oriented languages such as Java on low-end embedded systems. In this paper, the authors explore the implications of using whole program optimizations such as Rapid Type Analysis (RTA) and coloring on programs targeting the .Net infrastructure. They extended RTA so that it takes into account .Net specific features such as array covariance, a language feature also supported in Java, generics, whose specifications in .Net impacts type analysis and delegates, which encapsulate methods within objects. They also use an intraprocedural control flow analysis in addition to RTA. They evaluated the optimizations that they implemented on programs written in C#.