The trend towards multicore processors and graphic processing units is increasing the need for software that can take advantage of parallelism. Writing correct parallel programs u...
Many computations exhibit a trade off between execution time and quality of service. A video encoder, for example, can often encode frames more quickly if it is given the freedom ...
Sasa Misailovic, Stelios Sidiroglou, Henry Hoffman...
A key step in the design of multi-rate real-time systems is the determination of buffer capacities. In our multi-processor system, we apply back-pressure as caused by bounded buff...
Maarten Wiggers, Marco Bekooij, Pierre G. Jansen, ...
The lack of memory safety in many popular programming languages, including C and C++, has been a cause for great concern in the realm of software reliability, verification, and mo...
Non-functional specifications of software components are considered an important asset in constructing dependable systems, since they enable early Quality of Service (QoS) evaluati...
This paper presents a software product line architecture where applications are assembled by installing a set of plugins on a common software base. In this architecture, the softwa...
— Component-based software engineering (CBSE) is quickly becoming a mainstream approach to software development. At the same time, there is a massive shift from desktop applicati...
User-interface metaphors are not well understood in terms of their relationships and qualities. They are, however, constantly used both consciously and unconsciously in most user-...
Pippin Barr, Rilla Khaled, James Noble, Robert Bid...
Most software engineering tools come with fixed functionality or limited plug-in extension capabilities. Building software development environments that support truly dynamic exte...
Nelson Yap, Hau Chean Chiong, John C. Grundy, Rebe...