---
_id: '4563'
abstract:
- lang: eng
  text: 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.
acknowledgement: 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.
alternative_title:
- LNCS
article_processing_charge: No
author:
- first_name: Arindam
  full_name: Chakrabarti, Arindam
  last_name: Chakrabarti
- first_name: Luca
  full_name: De Alfaro, Luca
  last_name: De Alfaro
- first_name: Thomas A
  full_name: Henzinger, Thomas A
  id: 40876CD8-F248-11E8-B48F-1D18A9856A87
  last_name: Henzinger
  orcid: 0000−0002−2985−7724
- first_name: Marcin
  full_name: Jurdziński, Marcin
  last_name: Jurdziński
- first_name: Freddy
  full_name: Mang, Freddy
  last_name: Mang
citation:
  ama: 'Chakrabarti A, De Alfaro L, Henzinger TA, Jurdziński M, Mang F. Interface
    compatibility checking for software modules. In: <i>Proceedings of the 14th International
    Conference on Computer Aided Verification</i>. Vol 2404. Springer; 2002:428-441.
    doi:<a href="https://doi.org/10.1007/3-540-45657-0_35">10.1007/3-540-45657-0_35</a>'
  apa: 'Chakrabarti, A., De Alfaro, L., Henzinger, T. A., Jurdziński, M., &#38; Mang,
    F. (2002). Interface compatibility checking for software modules. In <i>Proceedings
    of the 14th International Conference on Computer Aided Verification</i> (Vol.
    2404, pp. 428–441). Copenhagen, Denmark: Springer. <a href="https://doi.org/10.1007/3-540-45657-0_35">https://doi.org/10.1007/3-540-45657-0_35</a>'
  chicago: Chakrabarti, Arindam, Luca De Alfaro, Thomas A Henzinger, Marcin Jurdziński,
    and Freddy Mang. “Interface Compatibility Checking for Software Modules.” In <i>Proceedings
    of the 14th International Conference on Computer Aided Verification</i>, 2404:428–41.
    Springer, 2002. <a href="https://doi.org/10.1007/3-540-45657-0_35">https://doi.org/10.1007/3-540-45657-0_35</a>.
  ieee: A. Chakrabarti, L. De Alfaro, T. A. Henzinger, M. Jurdziński, and F. Mang,
    “Interface compatibility checking for software modules,” in <i>Proceedings of
    the 14th International Conference on Computer Aided Verification</i>, Copenhagen,
    Denmark, 2002, vol. 2404, pp. 428–441.
  ista: 'Chakrabarti A, De Alfaro L, Henzinger TA, Jurdziński M, Mang F. 2002. Interface
    compatibility checking for software modules. Proceedings of the 14th International
    Conference on Computer Aided Verification. CAV: Computer Aided Verification, LNCS,
    vol. 2404, 428–441.'
  mla: Chakrabarti, Arindam, et al. “Interface Compatibility Checking for Software
    Modules.” <i>Proceedings of the 14th International Conference on Computer Aided
    Verification</i>, vol. 2404, Springer, 2002, pp. 428–41, doi:<a href="https://doi.org/10.1007/3-540-45657-0_35">10.1007/3-540-45657-0_35</a>.
  short: A. Chakrabarti, L. De Alfaro, T.A. Henzinger, M. Jurdziński, F. Mang, in:,
    Proceedings of the 14th International Conference on Computer Aided Verification,
    Springer, 2002, pp. 428–441.
conference:
  end_date: 2002-07-31
  location: Copenhagen, Denmark
  name: 'CAV: Computer Aided Verification'
  start_date: 2002-07-27
date_created: 2018-12-11T12:09:30Z
date_published: 2002-06-19T00:00:00Z
date_updated: 2023-06-05T07:38:10Z
day: '19'
doi: 10.1007/3-540-45657-0_35
extern: '1'
intvolume: '      2404'
language:
- iso: eng
month: '06'
oa_version: None
page: 428 - 441
publication: Proceedings of the 14th International Conference on Computer Aided Verification
publication_identifier:
  isbn:
  - ' 9783540439974'
publication_status: published
publisher: Springer
publist_id: '147'
quality_controlled: '1'
scopus_import: '1'
status: public
title: Interface compatibility checking for software modules
type: conference
user_id: ea97e931-d5af-11eb-85d4-e6957dddbf17
volume: 2404
year: '2002'
...
