In order to make frameworks easier to use we need to better understand the difficulties that programmers have with them. The questions that programmers ask give clues to the qual...
The Java memory model described in Chapter 17 of the Java Language Specification gives constraints on how threads interact through memory. This chapter is hard to interpret and po...
Dynamic software visualization should provide a programmer with insights as to what the program is doing. Most current dynamic visualizations either use program traces to show inf...
During software evolution, programmers add new functionalities and release new versions of software. This is complicated work, particularly in large applications, and tools are ne...
Java has emerged as one of the most dynamic programming languages today. During the past eight years it has become a leading choice as the programming language for an introductory...