Skip to content

Add definitions for library functions used in cp program#865

Merged
michael-schwarz merged 9 commits intomasterfrom
more_stubs
Oct 26, 2022
Merged

Add definitions for library functions used in cp program#865
michael-schwarz merged 9 commits intomasterfrom
more_stubs

Conversation

@michael-schwarz
Copy link
Copy Markdown
Member

@michael-schwarz michael-schwarz commented Oct 24, 2022

Adds definitions for the library functions encountered during #855. The following definitions are still missing:

@sim642 Is there currently support for varargs in your library DSL? We would need it here.

@michael-schwarz michael-schwarz added this to the SV-COMP 2023 milestone Oct 24, 2022
@michael-schwarz michael-schwarz changed the base branch from master to widening_global_issue October 24, 2022 12:58
@michael-schwarz
Copy link
Copy Markdown
Member Author

This is against widening_global_issue by accident, but as that is likely to be merged soon, I don't think cleanup is needed.

@sim642
Copy link
Copy Markdown
Member

sim642 commented Oct 24, 2022

Is there currently support for varargs in your library DSL? We would need it here.

Already thought of, here's a couple of examples:

("__builtin_prefetch", unknown (drop "addr" [] :: VarArgs (drop' [])));

let scanf_desc': LibraryDesc.t = LibraryDsl.(
special ((drop "format" []) :: VarArgs (__' [w])) @@ fun (args: Cil.exp list) -> Unknown
)
let scanf_desc: LibraryDesc.t = LibraryDsl.(
unknown ((drop "format" []) :: VarArgs (drop' [w]))
)

@michael-schwarz michael-schwarz marked this pull request as ready for review October 24, 2022 13:35
@sim642
Copy link
Copy Markdown
Member

sim642 commented Oct 25, 2022

I'm not sure if SV-COMP rules cover the POSIX stuff though, they're not exactly part of GCC itself, but glibc.

Base automatically changed from widening_global_issue to master October 25, 2022 07:23
@michael-schwarz michael-schwarz merged commit 0e49d1f into master Oct 26, 2022
@michael-schwarz michael-schwarz deleted the more_stubs branch October 26, 2022 11:46
@michael-schwarz michael-schwarz added the hacktoberfest-accepted https://hacktoberfest.digitalocean.com/ label Oct 26, 2022
sim642 added a commit to sim642/opam-repository that referenced this pull request Nov 25, 2022
CHANGES:

Functionally equivalent to Goblint in SV-COMP 2023.

* Add automatic configuration tuning (goblint/analyzer#772).
* Add many library function specifications (goblint/analyzer#865, goblint/analyzer#868, goblint/analyzer#878, goblint/analyzer#884, goblint/analyzer#886).
* Reorganize library stubs (goblint/analyzer#814, goblint/analyzer#845).
* Add Trace Event Format output to timing (goblint/analyzer#844).
* Optimize domains for address and path sets (goblint/analyzer#803, goblint/analyzer#809).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

feature hacktoberfest-accepted https://hacktoberfest.digitalocean.com/ precision

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants