Chakrabarti, Arindam; de Alfaro, Luca; Henzinger, Thomas AIST Austria ; Jurdziński, Marcin; Mang, Freddy Y
We present a formal methodology and tool for uncovering errors in the interaction of software modules. Our methodology consists of a suite of languages for defining software interfaces, and algorithms for checking interface compatibility. We focus on interfaces that explain the method-call dependencies between software modules. Such an interface makes assumptions about the environment in the form of call and availability constraints. A call constraint restricts the accessibility of local methods to certain external methods. An availability constraint restricts the accessibility of local methods to certain states of the module. For example, the interface for a file server with local methods open and read may assert that a file cannot be read without having been opened. Checking interface compatibility requires the solution of games, and in the presence of availability constraints, of pushdown games. Based on this methodology, we have implemented a tool that has uncovered incompatibilities in TinyOS, a small operating system for sensor nodes in adhoc networks.
This research was supported in part by the AFOSR grant F49620-00-1-0327, the DARPA grant F33615-00-C-1693, the MARCO grant 98-DT-660, the NSF grants CCR-9988172, CCR-0085949, CCR-0132780, the SRC grant 99-TJ-683, and the Polish KBN grant 7-T11C-027-20.
428 - 441
CAV: Computer Aided Verification
Chakrabarti A, De Alfaro L, Henzinger TA, Jurdziński M, Mang F. Interface compatibility checking for software modules. In: Vol 2404. Springer; 2002:428-441. doi:10.1007/3-540-45657-0_35
Chakrabarti, A., De Alfaro, L., Henzinger, T. A., Jurdziński, M., & Mang, F. (2002). Interface compatibility checking for software modules (Vol. 2404, pp. 428–441). Presented at the CAV: Computer Aided Verification, Springer. https://doi.org/10.1007/3-540-45657-0_35
Chakrabarti, Arindam, Luca De Alfaro, Thomas A Henzinger, Marcin Jurdziński, and Freddy Mang. “Interface Compatibility Checking for Software Modules,” 2404:428–41. Springer, 2002. https://doi.org/10.1007/3-540-45657-0_35.
A. Chakrabarti, L. De Alfaro, T. A. Henzinger, M. Jurdziński, and F. Mang, “Interface compatibility checking for software modules,” presented at the CAV: Computer Aided Verification, 2002, vol. 2404, pp. 428–441.
Chakrabarti A, De Alfaro L, Henzinger TA, Jurdziński M, Mang F. 2002. Interface compatibility checking for software modules. CAV: Computer Aided Verification, LNCS, vol. 2404. 428–441.
Chakrabarti, Arindam, et al. Interface Compatibility Checking for Software Modules. Vol. 2404, Springer, 2002, pp. 428–41, doi:10.1007/3-540-45657-0_35.