The use of partial evaluation for specializing programs written in imperative languages such as C and Java is hampered by the difficulty of controlling the specialization process....
Embedded systems can be viewed as scaled-down versions of their one counterparts. In many cases, the software abstractions and libraries for embedded systems can be derived from l...
Portable low-level C programs must often support multiple equivalent in-memory layouts of data, due to the byte or bit order of the compiler, architecture, or external data formats...
Architectural description languages are a useful tool for modeling complex systems at a high level of abstraction. If based on formal methods, they can also serve for enabling the...
Design patterns are widely recognized as important software development methods. Their use as software understanding tools, though generally acknowledged has been scarcely explore...