Diversification of software assets through changing requirements impose a constant challenge on the developers and maintainers of large software systems. Recent research has addr...
Michael Fischer, Johann Oberleitner, Jacek Ratzing...
Concepts are an essential language feature for generic programming in the large. Concepts allow for succinct expression of constraints on type parameters of generic algorithms, en...
In concurrent programming, non-blocking synchronization is very efficient but difficult to design correctly. This paper presents a static analysis to show that code blocks are ato...
Modular and flexible software components can be useful for reuse across a class of domain-specific applications or product lines. By varying the composition of components suited t...
M. Brian Blake, Kevin Cleary, Sohan Ranjan, Luis I...
Higher integration densities, smaller feature lengths, and other technology advances, as well as architectural evolution, have made microprocessor cores exceptionally complex. Cur...