Programs of a software product line can be synthesized by composing features which implement a unit of program functionality. In most product lines, only some combination of featu...
In order to give people ubiquitous access to software applications, device controllers, and Internet services, it will be necessary to automatically adapt user interfaces to the c...
Model checking is a suitable formal technique to analyze parallel programs' execution in an industrial context because automated tools can be designed and operated with very ...
Although optimizations have been applied for a number of years to improve the performance of software, problems that have been long-standing remain, which include knowing what opt...
Traditionally, designers organize software system as active end-points (e.g. applications) linked by passive infrastructures (e.g. networks). Increasingly, however, networks and i...
Paul Dourish, W. Keith Edwards, Jon Howell, Anthon...