Abstract:
A system and method for race warning generation for computer program verification includes determining shared variables and determining context-sensitive points-to sets for lock pointers by focusing on pointers that may affect aliases of lock pointers, and by leveraging function summarization. Locksets are determined at locations where shared variables are accessed using the points-to sets for lock pointers. Warnings are based on disjointness of locksets.
Abstract:
A system and method for mining program specifications includes generating unit tests to exercise functions of a library through an application program interface (API), based upon an (API) signature (101), A response to the unit tests is determined (104) to generate a transaction in accordance with a target behavior. The transaction (110) is converted into a relational form, and specifications of the library are learned using an inductive logic programming tool (107) from the relational form of the transaction.
Abstract:
A system and method for analyzing (104) a computer program includes performing a static analysis on a program to determine property correctness. Test cases are generated (108) and conducted to provide test output data. Hypotheses (113) about aspects of execution of the program are produced to classify paths for test cases to determine whether the test cases have been encountered or otherwise. In accordance with the hypothesis, new test cases are generated (120) to cause the program to exercise behavior which is outside of the encountered test cases.
Abstract:
A system and method for race warning generation for computer program verification includes determining shared variables and determining context-sensitive points-to sets for lock pointers by focusing on pointers that may affect aliases of lock pointers, and by leveraging function summarization. Locksets are determined at locations where shared variables are accessed using the points-to sets for lock pointers. Warnings are based on disjointness of locksets.