Most computer science educators hold strong opinions about the “right” approach to teaching introductory level programming. Unfortunately, we have comparatively little hard ev...
Jaime Spacco, Jaymie Strecker, David Hovemeyer, Wi...
Proving that particular methods within a code base are functionally pure--deterministic and side-effect free--would aid verification of security properties including function inve...
Matthew Finifter, Adrian Mettler, Naveen Sastry, D...
Without rigorous software development and maintenance, software tends to lose its original architectural structure and become difficult to understand and modify. ArchJava, a recen...
Marwan Abi-Antoun, Jonathan Aldrich, Wesley Coelho
Generics (templates) attempt to unify similar program structures to avoid redundancy. How well do generics serve this purpose in practice? We try to answer this question through e...
Hamid Abdul Basit, Damith C. Rajapakse, Stan Jarza...
The aspect-oriented paradigm allows weaving aspects in different join points of a program. Aspects can modify object fields and method control flow, thus possibly introducing subt...