-
公开(公告)号:US10664379B2
公开(公告)日:2020-05-26
申请号:US16122676
申请日:2018-09-05
Applicant: Amazon Technologies, Inc.
Inventor: Juan Rodriguez Hortala , Neha Rungta , Mark R. Tuttle , Serdar Tasiran , Michael Tautschnig , Andrea Nedic , Carsten Varming , John Byron Cook , Sean McLaughlin
Abstract: A method for verifying source code for a program includes determining that a new version of the source code is available. One or more verification tools are determined to use for verification of the new version of the source code from a verification specification associated with the source code. A plurality of verification tasks to perform for the verification of the new version of the source code are automatically determined from the verification specification associated with the source code. The plurality of verification tasks for the new version of the source code are automatically performed using the one or more verification tools. A determination is then made as to whether the new version of the source code is verified.
-
公开(公告)号:US11797317B1
公开(公告)日:2023-10-24
申请号:US17548225
申请日:2021-12-10
Applicant: Amazon Technologies, Inc.
Inventor: Sean McLaughlin , Tongtong Xiang , Matthias Schlaipfer , Neha Rungta , Serdar Tasiran , John Byron Cook , Michael William Whalen
CPC classification number: G06F9/44589 , G06F8/44 , G06F8/60 , G06F11/3608 , G06F11/3612
Abstract: A software development process may support a transition from unverifiable, legacy code to verifiable code that is provably correct by construction. A behavioral model may be developed for legacy software that includes various behavioral criteria. Then, source code implemented in a verifiable language may be verified using the behavioral model to perform verification. Once the source code is complete and verified, a new verified implementation may be compiled. The verified implementation may then be executed, along with the legacy software, to identify differences in behavior which are fed back into the behavioral model and subsequently into the new source code. This process may then be iterated with the verifiable code being deployable once behavioral differences are resolved.
-
公开(公告)号:US11232015B2
公开(公告)日:2022-01-25
申请号:US16864713
申请日:2020-05-01
Applicant: Amazon Technologies, Inc.
Inventor: Juan Rodriguez Hortala , Neha Rungta , Mark R. Tuttle , Serdar Tasiran , Michael Tautschnig , Andrea Nedic , Carsten Varming , John Byron Cook , Sean McLaughlin
Abstract: A method for verifying source code for a program includes determining that a new version of the source code is available. One or more verification tools are determined to use for verification of the new version of the source code from a verification specification associated with the source code. A plurality of verification tasks to perform for the verification of the new version of the source code are automatically determined from the verification specification associated with the source code. The plurality of verification tasks for the new version of the source code are automatically performed using the one or more verification tools. A determination is then made as to whether the new version of the source code is verified.
-
公开(公告)号:US10733074B1
公开(公告)日:2020-08-04
申请号:US15957746
申请日:2018-04-19
Applicant: Amazon Technologies, Inc.
Inventor: David R. Cok , Serdar Tasiran
IPC: G06F11/36
Abstract: A processing device receives first specification information for an executable functional programming feature from a program and second specification information for the executable functional programming feature from a specification associated with the program. The processing device aggregates the first specification information with the second specification information to form combined specification information for the executable functional programming feature. The processing device verifies the executable programming feature using the combined specification information.
-
公开(公告)号:US20200073783A1
公开(公告)日:2020-03-05
申请号:US16122676
申请日:2018-09-05
Applicant: Amazon Technologies, Inc.
Inventor: Juan Rodriguez Hortala , Neha Rungta , Mark R. Tuttle , Serdar Tasiran , Michael Tautschnig , Andrea Nedic , Carsten Varming , John Byron Cook , Sean McLaughlin
Abstract: A method for verifying source code for a program includes determining that a new version of the source code is available. One or more verification tools are determined to use for verification of the new version of the source code from a verification specification associated with the source code. A plurality of verification tasks to perform for the verification of the new version of the source code are automatically determined from the verification specification associated with the source code. The plurality of verification tasks for the new version of the source code are automatically performed using the one or more verification tools. A determination is then made as to whether the new version of the source code is verified.
-
-
-
-