Filters








489 Hits in 1.8 sec

Towards automatic resource bound analysis for OCaml

Jan Hoffmann, Ankush Das, Shu-Chun Weng
2017 SIGPLAN notices  
This article presents a resource analysis system for OCaml programs.  ...  The system automatically derives worst-case resource bounds for higher-order polymorphic programs with user-defined inductive types.  ...  A special thanks goes to Martin Hofmann, whose suggestion to integrate RAML with OCaml at POPL'14 in San Diego started this work. Finally, we thank the anonymous reviewers for their helpful feedback.  ... 
doi:10.1145/3093333.3009842 fatcat:2keqb4pyazczrcrnykyn3m4lze

Towards Automatic Resource Bound Analysis for OCaml [article]

Jan Hoffmann, Ankush Das, Shu-Chun Weng
2016 arXiv   pre-print
This article presents a resource analysis system for OCaml programs.  ...  Technically, the analysis system is based on a novel multivariate automatic amortized resource analysis (AARA).  ...  Multivariate Resource Polynomials In this section we define the set of resource polynomials which is the search space of our automatic resource bound analysis.  ... 
arXiv:1611.00692v1 fatcat:c4epcawlunatdh2l3s2ur6bysu

ML for ML: Learning Cost Semantics by Experiment [chapter]

Ankush Das, Jan Hoffmann
2017 Lecture Notes in Computer Science  
The derived cost semantics are combined with RAML, a state-of-the-art system for automatically deriving resource bounds for OCaml programs.  ...  It is an open problem in static resource bound analysis to connect high-level resource bounds with the actual execution time and memory usage of compiled machine code.  ...  .: Towards Automatic Resource Bound Analysis for OCaml. In: 44th Symposium on Principles of Programming Languages (POPL'17) (2017), forthcoming 25.  ... 
doi:10.1007/978-3-662-54577-5_11 fatcat:ndiuvlejgfdzlbe26dqo5eakdi

Melange

Anil Madhavapeddy, Alex Ho, Tim Deegan, David Scott, Ripduman Sohan
2007 ACM SIGOPS Operating Systems Review  
Our quantitative analysis shows that the benefits of MPL-generated code overcomes the additional overheads of automatic garbage collection and dynamic bounds checking.  ...  We report on fully-featured SSH and DNS servers constructed using MPL and our OCaml framework MELANGE, and measure greater throughput, lower latency, better flexibility and more succinct source code than  ...  ACKNOWLEDGEMENTS We would like to thank Tim Griffin, John Billings, Jon Crowcroft, David Greaves, Steven Hand, Christian Kreibich, Evangelia Kalyvianaki, Andrew Warfield, and Euan Harris for many hours  ... 
doi:10.1145/1272998.1273009 fatcat:5dux5hot2fec7nxpzq2mocagjq

Melange

Anil Madhavapeddy, Alex Ho, Tim Deegan, David Scott, Ripduman Sohan
2007 Proceedings of the 2nd ACM SIGOPS/EuroSys European Conference on Computer Systems 2007 - EuroSys '07  
Our quantitative analysis shows that the benefits of MPL-generated code overcomes the additional overheads of automatic garbage collection and dynamic bounds checking.  ...  We report on fully-featured SSH and DNS servers constructed using MPL and our OCaml framework MELANGE, and measure greater throughput, lower latency, better flexibility and more succinct source code than  ...  ACKNOWLEDGEMENTS We would like to thank Tim Griffin, John Billings, Jon Crowcroft, David Greaves, Steven Hand, Christian Kreibich, Evangelia Kalyvianaki, Andrew Warfield, and Euan Harris for many hours  ... 
doi:10.1145/1272996.1273009 dblp:conf/eurosys/MadhavapeddyHDSS07 fatcat:uecppr7ydjgwlhwtybjqhieydy

Embedded and Real-time Systems [chapter]

Edward L. Lamie
2019 Real-Time Embedded Multithreading Using ThreadX  
The proposed extension preserves the main static properties of the base language, including static resource bounds and the absence of deadlock, livelock and races.  ...  The Lucy-n compiler ensures that programs can be executed in bounded memory and automatically computes buffer sizes.  ... 
doi:10.1201/9780429187575-1 fatcat:ngrbtza47bhrdmlrbn2xdhg5de

From bytecode to JavaScript: the Js_of_ocaml compiler

Jérôme Vouillon, Vincent Balat
2013 Software, Practice & Experience  
We present the design and implementation of a compiler from OCaml bytecode to Javascript. We believe that taking bytecode as input instead of a high-level language is a sensible choice.  ...  Finally, the compiler could also be made to output optimized OCaml bytecode. This would be especially interesting for resource-constrained systems, such as microcontrollers.  ...  Conversions are automatically performed when needed. Concurrency. Javascript has no multi-threading support. Thus, the OCaml thread library cannot be used.  ... 
doi:10.1002/spe.2187 fatcat:3hzykow635fg5nezx4qdg2fbuu

Checking type safety of foreign function calls

Michael Furr, Jeffrey S. Foster
2005 SIGPLAN notices  
Furthermore, because C has a low-level view of OCaml data, our inference system includes a dataflow analysis to track memory offsets and tag information.  ...  We present a multi-lingual type inference system for checking type safety across a foreign function interface.  ...  Another approach used by SWIG [2] , is to automatically generate glue code for the low level language based on an interface specification file.  ... 
doi:10.1145/1064978.1065019 fatcat:5kocytyg7je3pap65gjxsi6dv4

Multiparty Session Programming With Global Protocol Combinators

Keigo Imai, Rumyana Neykova, Nobuko Yoshida, Shoji Yuen, Tobias Pape, Robert Hirschfeld
2020 European Conference on Object-Oriented Programming  
To overcome these limitations, we propose a library for programming with global combinators - a set of functions for writing and verifying multiparty protocols in OCaml.  ...  Multiparty Session Types (MPST) is a typing discipline for communication protocols. It ensures the absence of communication errors and deadlocks for well-typed communicating processes.  ...  We utilise an extension (let%lin) for linear types in OCaml [24] that statically enforces linear usage of resources by combining the usage of parameterised monads [29, 2, 40] and lenses [16] .  ... 
doi:10.4230/lipics.ecoop.2020.9 dblp:conf/ecoop/ImaiNYY19 fatcat:cnzwqy4gqbhsln3ya477yjizgq

A Formal Perspective on IEC 61499 Execution Control Chart Semantics

Per Lindgren, Marcus Lindner, David Pereira, Luis Miguel Pinho
2015 2015 IEEE Trustcom/BigDataSE/ISPA  
The algorithm is extractable from the mechanization in a correct-by-construction way, and can be directly incorporated in certified toolchain for analysis, compilation and execution of IEC 61499 models  ...  We also describe the first step towards the mechanization of the well-formedness checking algorithm in the Coq proof-assistant so that, ultimately, we are able to show, once and for all, that this algorithm  ...  grant nr. 621429 (EMC2) and VIN-NOVA (Swedish Governmental Agency for Innovation Systems) and Svenska Kraftnät (Swedish national grid).  ... 
doi:10.1109/trustcom.2015.647 dblp:conf/trustcom/LindgrenLPP15 fatcat:3zyuxngtdfdejesnvdeevsduoe

An Empirical Study on the Correctness of Formally Verified Distributed Systems

Pedro Fonseca, Kaiyuan Zhang, Xi Wang, Arvind Krishnamurthy
2017 Proceedings of the Twelfth European Conference on Computer Systems - EuroSys '17  
Acknowledgments We thank the anonymous reviewers and our shepherd, Neeraj Suri, for their feedback.  ...  In addition, we are grateful to the authors of the verified systems studied for their help in analyzing our reports and clarifying our questions.  ...  Ideally, verification should reason about resources and ensure reasonable bounds on their usage.  ... 
doi:10.1145/3064176.3064183 dblp:conf/eurosys/FonsecaZWK17 fatcat:oqryjfoo4zarnbregbo2gk7gzm

Checking type safety of foreign function calls

Michael Furr, Jeffrey S. Foster
2008 ACM Transactions on Programming Languages and Systems  
O-Saffire, our OCaml system, uses a monomorphic, flow-sensitive analysis, because while polymorphism is much less important for the OCaml FFI, flow-sensitivity is critical to track conditional branches  ...  O-Saffire also tracks garbage collection information to ensure that local C pointers to the OCaml heap are registered properly, which is not necessary for the JNI.  ...  We would like to thank the anonymous reviewers for their helpful comments.  ... 
doi:10.1145/1377492.1377493 fatcat:bgatytkv5vh6zohnjxknnctdge

Checking type safety of foreign function calls

Michael Furr, Jeffrey S. Foster
2005 Proceedings of the 2005 ACM SIGPLAN conference on Programming language design and implementation - PLDI '05  
O-Saffire, our OCaml system, uses a monomorphic, flow-sensitive analysis, because while polymorphism is much less important for the OCaml FFI, flow-sensitivity is critical to track conditional branches  ...  O-Saffire also tracks garbage collection information to ensure that local C pointers to the OCaml heap are registered properly, which is not necessary for the JNI.  ...  We would like to thank the anonymous reviewers for their helpful comments.  ... 
doi:10.1145/1065010.1065019 dblp:conf/pldi/FurrF05 fatcat:br777axqrnex3dmpb5ixg7bedm

PhD Abstracts

GRAHAM HUTTON
2021 Journal of functional programming  
Thus, our methodology scales up to highly non-trivial algorithms whose complexity analysis depends on subtle functional invariants, and can formally OCaml libraries which are then actually usable as part  ...  The second approach comes from program analysis. By employing symbolic execution, next-step hints are automatically calculated, without any changes to the original code.  ...  We present work on a new debugger for the functional programming language OCaml which operates by direct interpretation of the program source, allowing the printing out of individual steps of the program's  ... 
doi:10.1017/s0956796820000301 fatcat:367tiqw6ovfi3mwokevs2e4whe

Caml Crush: A PKCS#11 Filtering Proxy [chapter]

Ryad Benadjila, Thomas Calderon, Marion Daubignard
2015 Lecture Notes in Computer Science  
We provide a fully functional open source implementation with an extensible filter engine effectively shielding critical resources.  ...  Since affected hardware remains widespread in computer infrastructures, we propose a user-centric and pragmatic approach for secure usage of vulnerable devices.  ...  It is worth mentioning that Bortolozzo et. al. introduce in [11] a tool, Tookan, allowing for automatic API analysis and attack search.  ... 
doi:10.1007/978-3-319-16763-3_11 fatcat:yslszwpds5hjtia7lhh6lp7qia
« Previous Showing results 1 — 15 out of 489 results