Non-Functional requirements (or quality requirements, NFRs) such as confidentiality, performance and timeliness are often crucial to a software system. Our NFRFramework treats NF...
Reverse engineering is the process of uncovering the design and the design rationale from a functioning software system. Reverse engineering is an integral part of any successful ...
Is there such a thing anymore as a software system that doesn't need to be secure? Almost every softwarecontrolled system faces threats from potential adversaries, from Inter...
Open Source communities typically use a software repository to archive various software projects with their source code, mailing list discussions, documentation, bug reports, and ...
Shinji Kawaguchi, Pankaj K. Garg, Makoto Matsushit...
Modularity, hierarchy, and interaction locality are general approaches to reducing the complexity of any large system. A widely used principle in achieving these goals in designin...
This paper presents an overview of the DIME environment (DIrect Manipulation Environment) being developed by the author. The paper presents the DIME vision, its catalogue of evolu...
The software clustering problem has attracted much attention recently, since it is an integral part of the process of reverse engineering large software systems. A key problem in ...
Building software systems out of pre-fabricated components is a very attractive vision. Distributed Component Platforms (DCP) and their visual development environments bring this v...
To fully understand the underlying architecture of an object-oriented software system, both static and dynamic analyses are needed. Dynamic reverse engineering techniques are espe...
We describe an methodology for testing a software system for possible security flaws. Based on the observation that most security flaws are caused by the program’s inappropria...