Most current software systems contain undocumented high-level ideas implemented across multiple files and modules. When developers perform program maintenance tasks, they often wa...
David Shepherd, Zachary P. Fry, Emily Hill, Lori L...
Shared-memory multi-threaded programming is inherently more difficult than single-threaded programming. The main source of complexity is that, the threads of an application can in...
It has been widely advocated that software architecture an effective set of abstractions for engineering (families of) complex software systems. However, architectural concepts ar...
Sam Malek, Chiyoung Seo, Sharmila Ravula, Brad Pet...
This paper describes the design goals and current status of tidier, a software tool that tidies Erlang source code, making it cleaner, simpler, and often also more efficient. In ...
With Java 5 annotations, we note a marked increase in tools that can statically detect potential null dereferences. To be effective such tools require that developers annotate decl...