Modern software systems are typically large and complex, making comprehension of these systems extremely difficult. Experienced programmers comprehend code by seamlessly processi...
Giriprasad Sridhara, Emily Hill, Lori L. Pollock, ...
Software can be tested either manually or automatically. The two approaches are complementary: automated testing can perform a large number of tests in little time, whereas manual...
Andreas Leitner, Ilinca Ciupa, Bertrand Meyer, Mar...
Advanced typing, matching, and evaluation strategy features, as well as very general conditional rules, are routinely used in equational programming languages such as, for example...
Requirements prioritization plays a key role in the requirements engineering process, in particular with respect to critical tasks such as requirements negotiation and software re...
Paolo Avesani, Cinzia Bazzanella, Anna Perini, Ang...
Multi-touch interfaces have been a focus of research in recent years, resulting in development of various innovative UI concepts. Support for existing WIMP interfaces, however, sh...