Proceedings of the 13th ACM SIGPLAN/SIGBED International Conference on Languages, Compilers, Tools and Theory for Embedded Syst 2012
DOI: 10.1145/2248418.2248421
|View full text |Cite
|
Sign up to set email alerts
|

Lightweight generics in embedded systems through static analysis

Abstract: Low-end embedded systems are still programmed in C and assembly, and adopting high-level languages such as C# should reduce the length of their development cycles. For these systems, code size is a major concern, but run-time efficiency should also be reasonable -programmers will not migrate to C# unless the overhead compared with C is insignificant. In this paper, we propose a static approach based on whole program optimization for implementing .NET generics in such systems. Indeed, the implementation of runt… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1
1

Citation Types

1
5
0

Year Published

2013
2013
2016
2016

Publication Types

Select...
3
2
1

Relationship

0
6

Authors

Journals

citations
Cited by 9 publications
(6 citation statements)
references
References 20 publications
(17 reference statements)
1
5
0
Order By: Relevance
“…This bound was never exceeded in our experimental evaluation, implying that recursive types did not occur in the benchmark programs. The same issue also occurs in Java and C#, and was previously noted by Sallenave and Ducourneau [22]. Their implementation issues a warning when it detects the situation.…”
Section: Tca Expandsupporting
confidence: 55%
See 2 more Smart Citations
“…This bound was never exceeded in our experimental evaluation, implying that recursive types did not occur in the benchmark programs. The same issue also occurs in Java and C#, and was previously noted by Sallenave and Ducourneau [22]. Their implementation issues a warning when it detects the situation.…”
Section: Tca Expandsupporting
confidence: 55%
“…It is more precise to consider only concrete types with which each abstract type is instantiated, similar to the approach of [22]. To this end, we introduce a mapping expand(), which maps each abstract type 9 T to those concrete types with which it has been instantiated:…”
Section: Tca Expandmentioning
confidence: 99%
See 1 more Smart Citation
“…In Scala, where use of generic type parameters and abstract type members is pervasive, our static-type-based context-sensitive analysis that can precisely model these features significantly improves call graph precision. The technique of using type arguments as context is most closely related to the C# type analysis of (Sallenave and Ducournau 2012). Their analysis adds type arguments as context to types of instantiated objects (their analogue of the setΣ).…”
Section: Call Graph Construction and Context Sensitivitymentioning
confidence: 99%
“…The work by Sallenave and Ducournau [35] shares the same goals as miniboxing: offering unboxed generics without the bytecode explosion. However, the target is different: their Lightweight Generics compiler targets embedded devices and works under a closed world assumption.…”
Section: Related Workmentioning
confidence: 99%