TY - GEN
T1 - Specifying and verifying advanced control features
AU - Leavens, Gary T.
AU - Naumann, David
AU - Rajan, Hridesh
AU - Aotani, Tomoyuki
N1 - Publisher Copyright:
© Springer International Publishing AG 2016.
PY - 2016
Y1 - 2016
N2 - Advances in programming often revolve around key design patterns, which programming languages embody as new control features. These control features, such as higher-order functions, advice, and context dependence, use indirection to decrease coupling and enhance modularity. However, this indirection makes them difficult to verify, because it hides actions (and their effects) behind an abstraction barrier. Such abstraction barriers can be overcome in a modular way using greybox specification techniques, provided the programming language supports interfaces as a place to record specifications. These techniques have previously allowed specification and modular verification of higher-order functional and object-oriented programs, as well as aspect-oriented and context-oriented programs.
AB - Advances in programming often revolve around key design patterns, which programming languages embody as new control features. These control features, such as higher-order functions, advice, and context dependence, use indirection to decrease coupling and enhance modularity. However, this indirection makes them difficult to verify, because it hides actions (and their effects) behind an abstraction barrier. Such abstraction barriers can be overcome in a modular way using greybox specification techniques, provided the programming language supports interfaces as a place to record specifications. These techniques have previously allowed specification and modular verification of higher-order functional and object-oriented programs, as well as aspect-oriented and context-oriented programs.
KW - Greybox specification
KW - JML language
KW - Modular verification
UR - http://www.scopus.com/inward/record.url?scp=84994048432&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=84994048432&partnerID=8YFLogxK
U2 - 10.1007/978-3-319-47169-3_7
DO - 10.1007/978-3-319-47169-3_7
M3 - Conference contribution
AN - SCOPUS:84994048432
SN - 9783319471686
T3 - Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)
SP - 80
EP - 96
BT - Leveraging Applications of Formal Methods, Verification and Validation
A2 - Steffen, Bernhard
A2 - Margaria, Tiziana
ER -