Most practising software architects operate within an architecture framework which is a coordinated set of viewpoints, models and notations prescribed for them. Whereas architectu...
Rich Hilliard, Ivano Malavolta, Henry Muccini, Pat...
Accurate software cost and schedule estimations are essential especially for large software projects. However, once the required efforts have been estimated, little is done to rec...
Pongtip Aroonvatanaporn, Chatchai Sinthop, Barry W...
Variability models represent the common and variable features of products in a product line. Several variability modeling languages have been proposed in academia and industry; ho...
Thorsten Berger, Steven She, Rafael Lotufo, Andrze...
A method is described for automatically repairing legacy software at the assembly code level using evolutionary computation. The technique is demonstrated on Java byte code and x8...
Named constants are used heavily in operating systems code, both as internal flags and in interactions with devices. Decision making within an operating system thus critically de...
Decision procedures have long been a fixture in program analysis, and reasoning about string constraints is a key element in many program analyses and testing frameworks. Recent ...
To realise variability at the code level, product line methods classically advocate usage of inheritance, components, frameworks, aspects or generative techniques. However, these ...
Quentin Boucher, Andreas Classen, Patrick Heymans,...
During code review tasks, comparing two versions of a hardware design description using existing program differencing tools such as diff is inherently limited because existing p...
Software testing has been commonly used in assuring the quality of database applications. It is often prohibitively expensive to manually write quality tests for complex database ...
Software constantly undergoes changes throughout its life cycle, and thereby it evolves. As changes are introduced into a code base, we need to make sure that the effect of the ch...