During software development and evolution activities, the developers focus the refactoring efforts on choosing and applying refactoring patterns (or sequences of patterns) that ar...
Software developers identify two main reasons why software systems are not made robust: performance and practicality. This work demonstrates the effectiveness of general technique...
Most quality and software process improvement frameworks emphasize written (i.e. formal) documentation to convey recommended work practices. However, there is considerable skeptic...
Reverse engineering of program code is the process of constructing a higher level abstraction of an implementation in order to facilitate the understanding of a system that may be...
We develop a scheme for representing critical non-functional requirements (NFRs), and apply it to the domain of multimedia educational software (MES) to validate it. Our approach ...