When modifying or debugging a software system, among other tasks, developers must often understand and manipulate source code that crosscuts the system’s structure. These tasks ...
We have taught several distributed software engineering project courses with students and real clients [4]. During these projects, students in Pittsburgh and Munich, Germany colla...
Andreas Braun, Allen H. Dutoit, Andreas Harrer, Be...
Managing features that have fine-grained impact on base programs is a challenging task in software product line development. Despite well-known problems, preprocessing (e.g., cpp)...
Stan Jarzabek, Hongyu Zhang, Youpeng Lee, Yinxing ...
Most software is fragile: even the slightest error, such as changing a single bit, can make it crash. As software complexity has increased, development techniques have kept pace t...
The deployment of software components frequently fails because dependencies on other components are not declared explicitly or are declared imprecisely. This results in an incompl...