The principle of separation of concerns has long been used by software engineers to manage the complexity of software system development. Programming languages help software engin...
Robert J. Walker, Elisa L. A. Baniassad, Gail C. M...
Recent research has shown how boilerplate code, or repetitive code for traversing datatypes, can be eliminated using generic programming techniques already available within some i...
It is difficult to write programs that behave correctly in the presence of exceptions. We describe a dataflow analysis for finding a certain class of mistakes made while programs h...
Dynamic memory management and the use of pointers are critical topics in teaching the C++ language. They are also some of the most difficult for students to grasp properly. The re...
Code libraries are characterized by feature-richness — and, consequently, high overhead. The library specialization problem is the problem of obtaining a low-overhead version of...