As software systems grow in size and use more third-party libraries and frameworks, the need for developers to understand unfamiliar large codebases is rapidly increasing. In this...
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...
One of the major problems with participatory design is that it is extremely difficult to apply it to current developments. Software development for the mass market is one aspect o...
Atheoreticalframeworkisintroducedfortheperceptionofspecularsurfacegeometry.Whenanobserver moves in three-dimensional space, real scene features such as surface markings remain stat...
Architectural based approaches to designing software are motivating changes in the way software is developed for safety-critical systems. These new approaches allow developers to d...