We propose a high-level approach to software architecture that bridges the gap between system requirements (in the problem space) and the architectural design (in the solution spa...
Types are a good starting point for various software reengineering tasks. Unfortunately, programs requiring reengineering most desperately are written in languages without an adeq...
Software testing is an important issue in software engineering. As software systems become increasingly large and complex, the problem of how to optimally allocate the limited test...
For many years basic visualisation, based around simple boxes and lines, has been done in an attempt to be able to ease some of the cognitive overload caused by program comprehens...
The author reviewed and participated in several exemplar industry projects from the Indian IT industry to study the integration of human-computer interaction (HCI) design into soft...