Access Control Contracts for Java Program Modules
Application-level security has become an issue in recent years; for example, errors, discrepancies and omissions in the specification of access control constraints of security-sensitive software components are recognized as an important source for security vulnerabilities. The authors propose to formally specify access control assumptions or constraints of a program module and enforce them at run-time. They call such specifications access control contracts. To realize access control contracts, they extended the JML language, a formal interface specification language for Java, and developed a prototype support tool that translates access control contracts to run-time checks.