Calling context enhances program understanding and dynamic analyses by providing a rich representation of program location. Compared to imperative programs, objectoriented program...
Lifelike, interactive digital characters, serving as mentors and role-playing actors, have been shown to significantly improve learner motivation and retention. However, the cost...
Ensuring the correctness of multithreaded programs is difficult, due to the potential for unexpected interactions between concurrent threads. Much previous work has focused on det...
To improve software productivity, when constructing new software systems, developers often reuse existing class libraries or frameworks by invoking their APIs. Those APIs, however...
User interfaces for modern applications must support a rich set of interactive features. It is commonplace to find applications with dependencies between values manipulated by us...