The Java programming language has gained increasing importance for the development of embedded systems. To be cost efficient, such systems have to cope with significant hardware restrictions which result in certain software programming restrictions. Recently, companies have started to apply Java component technology also in the area of embedded systems. Components are pieces of software with a defined interface which can be reused in different applications. Typically, components are not developed under programming restrictions for specific embedded systems, because those restrictions depend highly on the underlying hardware. Executing such software on a micro controller with very limited resources often results in unforseen problems, e.g., in a memory overflow. Failure to detect such problems in an early stage might lead to significant costs, e.g., for replacing software on thousands of produced controllers. In this paper we present a semi-automatic approach to inspect Java sour...
Jens H. Jahnke, Jörg Niere, Jörg P. Wads