"CAREER:" Enforcing and Validating User-Defined Programming Disciplines
University Of California-Los Angeles, Los Angeles CA
Investigators
Abstract
ABSTRACT CCF-0545850 Todd Millstein University of California - Los Angeles CAREER: Enforcing and Validating User-Defined Programming Disciplines Programmers manage the complexity of developing and maintaining software systems by adhering to various programming disciplines, which impose additional structure on program entities. However, today's programming languages lack support for specifying and checking important classes of programming disciplines, making these disciplines easy to forget or misuse. This research investigates a framework for user-defined programming disciplines. A user of the framework specifies a programming discipline through declarative rules, which are automatically enforced on programs at compile time. The user may also specify a discipline's intended run-time invariants, and the framework helps to ensure that the provided rules respect these invariants. The research focuses on an instantiation of the framework for Java that targets three major discipline classes: disciplines for design patterns; disciplines that impose structure on concurrent programs, and disciplines that ensure strong forms of object encapsulation. The proposed framework aims to improve the quality of software systems by allowing programmers to easily document, enforce, and validate relied-upon programming disciplines. The resulting tools will be made publicly available and incorporated in the classroom.
View original record on NSF Award Search →