Matches in SemOpenAlex for { <https://semopenalex.org/work/W4385373541> ?p ?o ?g. }
Showing items 1 to 49 of
49
with 100 items per page.
- W4385373541 abstract "Migration to OCaml 5 requires updating a lot of C bindings due to the removal of naked pointer support. Writing OCaml user-defined primitives in C is a necessity, but is unsafe and error-prone. It does not benefit from either OCaml's or C's type checking, and existing C static analysers are not aware of the OCaml GC safety rules, and cannot infer them from existing macros alone.The alternative is automatically generating C stubs, which requires correctly managing value lifetimes. Having a static analyser for OCaml to C interfaces is useful outside the OCaml 5 porting effort too. After some motivating examples of real bugs in C bindings a static analyser is presented that finds these known classes of bugs. The tool works on the OCaml abstract parse and typed trees, and generates a header file and a caller model. Together with a simplified model of the OCaml runtime this is used as input to a static analysis framework, Goblint. An analysis is developed that tracks dereferences of OCaml values, and together with the existing framework reports incorrect dereferences. An example is shown how to extend the analysis to cover more safety properties. The tools and runtime models are generic and could be reused with other static analysis tools." @default.
- W4385373541 created "2023-07-29" @default.
- W4385373541 creator A5092778156 @default.
- W4385373541 date "2023-07-27" @default.
- W4385373541 modified "2023-10-16" @default.
- W4385373541 title "Targeted Static Analysis for OCaml C Stubs: eliminating gremlins from the code" @default.
- W4385373541 doi "https://doi.org/10.48550/arxiv.2307.14909" @default.
- W4385373541 hasPublicationYear "2023" @default.
- W4385373541 type Work @default.
- W4385373541 citedByCount "0" @default.
- W4385373541 crossrefType "posted-content" @default.
- W4385373541 hasAuthorship W4385373541A5092778156 @default.
- W4385373541 hasBestOaLocation W43853735411 @default.
- W4385373541 hasConcept C111919701 @default.
- W4385373541 hasConcept C166955791 @default.
- W4385373541 hasConcept C185592680 @default.
- W4385373541 hasConcept C199360897 @default.
- W4385373541 hasConcept C26834552 @default.
- W4385373541 hasConcept C2777904410 @default.
- W4385373541 hasConcept C28180684 @default.
- W4385373541 hasConcept C41008148 @default.
- W4385373541 hasConcept C43617362 @default.
- W4385373541 hasConcept C97686452 @default.
- W4385373541 hasConceptScore W4385373541C111919701 @default.
- W4385373541 hasConceptScore W4385373541C166955791 @default.
- W4385373541 hasConceptScore W4385373541C185592680 @default.
- W4385373541 hasConceptScore W4385373541C199360897 @default.
- W4385373541 hasConceptScore W4385373541C26834552 @default.
- W4385373541 hasConceptScore W4385373541C2777904410 @default.
- W4385373541 hasConceptScore W4385373541C28180684 @default.
- W4385373541 hasConceptScore W4385373541C41008148 @default.
- W4385373541 hasConceptScore W4385373541C43617362 @default.
- W4385373541 hasConceptScore W4385373541C97686452 @default.
- W4385373541 hasLocation W43853735411 @default.
- W4385373541 hasOpenAccess W4385373541 @default.
- W4385373541 hasPrimaryLocation W43853735411 @default.
- W4385373541 hasRelatedWork W1569188499 @default.
- W4385373541 hasRelatedWork W1585925557 @default.
- W4385373541 hasRelatedWork W1978671996 @default.
- W4385373541 hasRelatedWork W2016477192 @default.
- W4385373541 hasRelatedWork W23987500 @default.
- W4385373541 hasRelatedWork W2619866502 @default.
- W4385373541 hasRelatedWork W2763815264 @default.
- W4385373541 hasRelatedWork W3009635326 @default.
- W4385373541 hasRelatedWork W353709198 @default.
- W4385373541 hasRelatedWork W82217049 @default.
- W4385373541 isParatext "false" @default.
- W4385373541 isRetracted "false" @default.
- W4385373541 workType "article" @default.