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...
Recently exchange formats have gained lots of attention. Multiple tools need to interact and/or work on the same software system. Especially there is a need to reuse parser techno...
Students need to learn testing skills, and using test-driven development on assignments is one way to help students learn. We use a flexible automated grading system called Web-CA...
Viewpoints are re ections of software systems from multiple perspectives. A number of consistency conditions apply to viewpoints and developers require a tool for each type of vie...
Maintaining a developer's awareness of changes in the software on which she depends is challenging. Awareness is often impeded at two ends of the spectrum: a lack of informat...