Program slicing has many applications in software engineering activities including program comprehension, debugging, testing, maintenance, and model checking. In this paper, we pr...
A common belief is that software designs decay as systems evolve. This research examines the extent to which software designs actually decay by studying the aging of design patter...
Software complexity is often hypothesized to be the enemy of software security. We performed statistical analysis on nine code complexity metrics from the JavaScript Engine in the...
Government bureaucracies are both extremely complex and long-lived, constantly evolving to reflect and influence their ever changing cultural and physical environments. Software s...
Reverse engineering legacy software systems often involves the employment of clustering algorithms that automatically decompose a software system into subsystems. The decompositio...