The term software engineering arose in the 1960s to emphasize that the production of software should not be an art, as it was then (and sometimes still is today), but an engineeri...
This paper evaluates the tradeoffs involved in the design of the software-extended memory system of Alewife, a multiprocessor architecturethat implements coherentsharedmemorythrou...
Producing large software systems is an extremely challenging engineering task. The main reason is the difficulty of managing the enormous amounts of code and the great numbers of ...
This paper presents a model of change propagation during software maintenance and evolution. Change propagation is modeled as a sequence of snapshots, where each snapshot represen...
Software piracy is a major economic problem: it leads to revenue losses, it favors big software houses that are less hurt by these losses and it prevents new software economy model...
Continuous availability is a critical requirement for an important class of software systems. For these systems, runtime system evolution can mitigate the costs and risks associat...
Peyman Oreizy, Nenad Medvidovic, Richard N. Taylor
Empirical evaluation of software systems in actual usage situations is critical in software engineering. Prototyping, beta testing, and usability testing are widely used to refine...
Applications are often designed to take advantage of the potential for integration with each other via shared information. Current approaches for integration are limited, affectin...
– It is difficult to improve software quality by relying on conformance to industry standards by continuously upgrading from one standard or model to another standard or model be...
This paper presents results from analyzing the vulnerability of security-critical software applications to malicious threats and anomalous events using an automated fault injectio...