Contract discovery from black-box components

Vaibhav Sharma, Taejoon Byun, Stephen A McCamant, Sanjai Rayadurgam, Mats Heimdahl

Research output: Chapter in Book/Report/Conference proceedingConference contribution

Abstract

Complex computer-controlled systems are commonly constructed in a middle-out fashion where existing subsystems and available components have a significant influence on system architecture and drive design decisions. During system design, the architect must verify that the components, put together as specified in the architecture, will achieve the desired system behavior. This typically leads to further design modifications or adjustments to requirements triggering another iteration of the design-verify cycle. For software components that are acquired from third-parties, often the only definitive source of information about the component's system-relevant behavior - its contract - is its object code. We posit that existing static and dynamic analysis techniques can be used to discover contracts that can help the system designer and specifically discuss how symbolic execution of object code may be particularly well-suited for this purpose.

Original languageEnglish (US)
Title of host publicationWASPI 2018 - Proceedings of the 1st ACM SIGSOFT International Workshop on Automated Specification Inference, Co-located with FSE 2018
EditorsVasant Honavar, Tien N. Nguyen, Gary T. Leavens, Robert Dyer, Hridesh Rajan, Hoan Anh Nguyen
PublisherAssociation for Computing Machinery, Inc
Pages5-8
Number of pages4
ISBN (Electronic)9781450360579
DOIs
StatePublished - Nov 9 2018
Event1st ACM SIGSOFT International Workshop on Automated Specification Inference, WASPI 2018, Co-located with the 26th ACM Joint European Software Engineering Conference and Symposium on the Foundations of Software Engineering, ESEC/FSE 2018 - Lake Buena Vista, United States
Duration: Nov 9 2018 → …

Publication series

NameWASPI 2018 - Proceedings of the 1st ACM SIGSOFT International Workshop on Automated Specification Inference, Co-located with FSE 2018

Conference

Conference1st ACM SIGSOFT International Workshop on Automated Specification Inference, WASPI 2018, Co-located with the 26th ACM Joint European Software Engineering Conference and Symposium on the Foundations of Software Engineering, ESEC/FSE 2018
CountryUnited States
CityLake Buena Vista
Period11/9/18 → …

Fingerprint

Static analysis
Dynamic analysis
Systems analysis

Keywords

  • Binary analysis
  • Contract discovery
  • Symbolic execution

Cite this

Sharma, V., Byun, T., McCamant, S. A., Rayadurgam, S., & Heimdahl, M. (2018). Contract discovery from black-box components. In V. Honavar, T. N. Nguyen, G. T. Leavens, R. Dyer, H. Rajan, & H. A. Nguyen (Eds.), WASPI 2018 - Proceedings of the 1st ACM SIGSOFT International Workshop on Automated Specification Inference, Co-located with FSE 2018 (pp. 5-8). (WASPI 2018 - Proceedings of the 1st ACM SIGSOFT International Workshop on Automated Specification Inference, Co-located with FSE 2018). Association for Computing Machinery, Inc. https://doi.org/10.1145/3278177.3278179

Contract discovery from black-box components. / Sharma, Vaibhav; Byun, Taejoon; McCamant, Stephen A; Rayadurgam, Sanjai; Heimdahl, Mats.

WASPI 2018 - Proceedings of the 1st ACM SIGSOFT International Workshop on Automated Specification Inference, Co-located with FSE 2018. ed. / Vasant Honavar; Tien N. Nguyen; Gary T. Leavens; Robert Dyer; Hridesh Rajan; Hoan Anh Nguyen. Association for Computing Machinery, Inc, 2018. p. 5-8 (WASPI 2018 - Proceedings of the 1st ACM SIGSOFT International Workshop on Automated Specification Inference, Co-located with FSE 2018).

Research output: Chapter in Book/Report/Conference proceedingConference contribution

Sharma, V, Byun, T, McCamant, SA, Rayadurgam, S & Heimdahl, M 2018, Contract discovery from black-box components. in V Honavar, TN Nguyen, GT Leavens, R Dyer, H Rajan & HA Nguyen (eds), WASPI 2018 - Proceedings of the 1st ACM SIGSOFT International Workshop on Automated Specification Inference, Co-located with FSE 2018. WASPI 2018 - Proceedings of the 1st ACM SIGSOFT International Workshop on Automated Specification Inference, Co-located with FSE 2018, Association for Computing Machinery, Inc, pp. 5-8, 1st ACM SIGSOFT International Workshop on Automated Specification Inference, WASPI 2018, Co-located with the 26th ACM Joint European Software Engineering Conference and Symposium on the Foundations of Software Engineering, ESEC/FSE 2018, Lake Buena Vista, United States, 11/9/18. https://doi.org/10.1145/3278177.3278179
Sharma V, Byun T, McCamant SA, Rayadurgam S, Heimdahl M. Contract discovery from black-box components. In Honavar V, Nguyen TN, Leavens GT, Dyer R, Rajan H, Nguyen HA, editors, WASPI 2018 - Proceedings of the 1st ACM SIGSOFT International Workshop on Automated Specification Inference, Co-located with FSE 2018. Association for Computing Machinery, Inc. 2018. p. 5-8. (WASPI 2018 - Proceedings of the 1st ACM SIGSOFT International Workshop on Automated Specification Inference, Co-located with FSE 2018). https://doi.org/10.1145/3278177.3278179
Sharma, Vaibhav ; Byun, Taejoon ; McCamant, Stephen A ; Rayadurgam, Sanjai ; Heimdahl, Mats. / Contract discovery from black-box components. WASPI 2018 - Proceedings of the 1st ACM SIGSOFT International Workshop on Automated Specification Inference, Co-located with FSE 2018. editor / Vasant Honavar ; Tien N. Nguyen ; Gary T. Leavens ; Robert Dyer ; Hridesh Rajan ; Hoan Anh Nguyen. Association for Computing Machinery, Inc, 2018. pp. 5-8 (WASPI 2018 - Proceedings of the 1st ACM SIGSOFT International Workshop on Automated Specification Inference, Co-located with FSE 2018).
@inproceedings{02efea237f274cba9e375253c9276564,
title = "Contract discovery from black-box components",
abstract = "Complex computer-controlled systems are commonly constructed in a middle-out fashion where existing subsystems and available components have a significant influence on system architecture and drive design decisions. During system design, the architect must verify that the components, put together as specified in the architecture, will achieve the desired system behavior. This typically leads to further design modifications or adjustments to requirements triggering another iteration of the design-verify cycle. For software components that are acquired from third-parties, often the only definitive source of information about the component's system-relevant behavior - its contract - is its object code. We posit that existing static and dynamic analysis techniques can be used to discover contracts that can help the system designer and specifically discuss how symbolic execution of object code may be particularly well-suited for this purpose.",
keywords = "Binary analysis, Contract discovery, Symbolic execution",
author = "Vaibhav Sharma and Taejoon Byun and McCamant, {Stephen A} and Sanjai Rayadurgam and Mats Heimdahl",
year = "2018",
month = "11",
day = "9",
doi = "10.1145/3278177.3278179",
language = "English (US)",
series = "WASPI 2018 - Proceedings of the 1st ACM SIGSOFT International Workshop on Automated Specification Inference, Co-located with FSE 2018",
publisher = "Association for Computing Machinery, Inc",
pages = "5--8",
editor = "Vasant Honavar and Nguyen, {Tien N.} and Leavens, {Gary T.} and Robert Dyer and Hridesh Rajan and Nguyen, {Hoan Anh}",
booktitle = "WASPI 2018 - Proceedings of the 1st ACM SIGSOFT International Workshop on Automated Specification Inference, Co-located with FSE 2018",

}

TY - GEN

T1 - Contract discovery from black-box components

AU - Sharma, Vaibhav

AU - Byun, Taejoon

AU - McCamant, Stephen A

AU - Rayadurgam, Sanjai

AU - Heimdahl, Mats

PY - 2018/11/9

Y1 - 2018/11/9

N2 - Complex computer-controlled systems are commonly constructed in a middle-out fashion where existing subsystems and available components have a significant influence on system architecture and drive design decisions. During system design, the architect must verify that the components, put together as specified in the architecture, will achieve the desired system behavior. This typically leads to further design modifications or adjustments to requirements triggering another iteration of the design-verify cycle. For software components that are acquired from third-parties, often the only definitive source of information about the component's system-relevant behavior - its contract - is its object code. We posit that existing static and dynamic analysis techniques can be used to discover contracts that can help the system designer and specifically discuss how symbolic execution of object code may be particularly well-suited for this purpose.

AB - Complex computer-controlled systems are commonly constructed in a middle-out fashion where existing subsystems and available components have a significant influence on system architecture and drive design decisions. During system design, the architect must verify that the components, put together as specified in the architecture, will achieve the desired system behavior. This typically leads to further design modifications or adjustments to requirements triggering another iteration of the design-verify cycle. For software components that are acquired from third-parties, often the only definitive source of information about the component's system-relevant behavior - its contract - is its object code. We posit that existing static and dynamic analysis techniques can be used to discover contracts that can help the system designer and specifically discuss how symbolic execution of object code may be particularly well-suited for this purpose.

KW - Binary analysis

KW - Contract discovery

KW - Symbolic execution

UR - http://www.scopus.com/inward/record.url?scp=85061795280&partnerID=8YFLogxK

UR - http://www.scopus.com/inward/citedby.url?scp=85061795280&partnerID=8YFLogxK

U2 - 10.1145/3278177.3278179

DO - 10.1145/3278177.3278179

M3 - Conference contribution

T3 - WASPI 2018 - Proceedings of the 1st ACM SIGSOFT International Workshop on Automated Specification Inference, Co-located with FSE 2018

SP - 5

EP - 8

BT - WASPI 2018 - Proceedings of the 1st ACM SIGSOFT International Workshop on Automated Specification Inference, Co-located with FSE 2018

A2 - Honavar, Vasant

A2 - Nguyen, Tien N.

A2 - Leavens, Gary T.

A2 - Dyer, Robert

A2 - Rajan, Hridesh

A2 - Nguyen, Hoan Anh

PB - Association for Computing Machinery, Inc

ER -