Computing Reviews

Efficient compilation of .NET programs for embedded systems
Sallenave O., Ducournau R.  ICOOOLPS 2010 (Proceedings of the Workshop on the Implementation, Compilation, Optimization of Object-Oriented Languages, Programs and Systems, Maribor, Slovenia, Jun 22, 2010)1-8,2010.Type:Proceedings
Date Reviewed: 10/19/11

I recommend this paper to researchers who are interested in helping object orientation find its way into the embedded world. Unfortunately, since mainstream compilation techniques lead to code that does not usually perform well in systems with limited resources, object orientation is not very popular in this context.

The authors present an array of techniques for compiling .NET Micro Framework programs very efficiently. They rely on so-called rapid type analysis, a technique for inferring what the target type of a method call is and deciding quickly if it can be transformed into an efficient static call. They pay special attention to removing subtype tests, array covariance optimizations, native methods, and removing dead code. These techniques require global knowledge of the system being compiled--that is, the result is a closed system in which no component can be updated or reused as long as the whole system is not recompiled.

The paper is interesting and timely. Embedded systems are pervasive nowadays, but software development cycles are still long because of the low-level procedural languages in current use. The authors’ results prove that object-oriented languages like C# may help shorten such development cycles without a negative impact on the performance. Their experimental results also seem to suggest that their techniques help reduce significantly the size of the resulting systems, and that most of the method calls are transformed into efficient static calls. Further work, however, remains to be done regarding generic types, garbage collection, and multithreading.

Reviewer:  Rafael Corchuelo Review #: CR139509 (1205-0484)

Reproduction in whole or in part without permission is prohibited.   Copyright 2024 ComputingReviews.com™
Terms of Use
| Privacy Policy