Papers
Topics
Authors
Recent
Gemini 2.5 Flash
Gemini 2.5 Flash
102 tokens/sec
GPT-4o
59 tokens/sec
Gemini 2.5 Pro Pro
43 tokens/sec
o3 Pro
6 tokens/sec
GPT-4.1 Pro
50 tokens/sec
DeepSeek R1 via Azure Pro
28 tokens/sec
2000 character limit reached

Hal: A Language-General Framework for Analysis of User-Specified Monotone Frameworks [DRAFT] (2405.06505v3)

Published 10 May 2024 in cs.PL

Abstract: Writing dataflow analyzers requires both language and domain-specificity. That is to say, each programming language and each program property requires its own analyzer. To enable a streamlined, user-driven approach to dataflow analyzers, we introduce the theoretical framework for a user-specified dataflow analysis. This framework is constructed in such a way that the user has to specify as little as possible, while the analyzer infers and computes everything else, including interprocedural embellishments. This theoretical framework was also implemented in Java, where users can specify a program property alongside minimal extra information to induce a dataflow analysis. This framework (both theoretical and in implementation) is language-general, meaning that it is independent of syntax and semantics (as all necessary syntactic and semantic information is provided by the user, and this information is provided only once for a given language). In this paper, we introduce basic notions of intraprocedural and interprocedural dataflow analyses, the proposed "Implicit Monotone Framework," and a rigorous framework for partial functions as a property space.

Definition Search Book Streamline Icon: https://streamlinehq.com
References (9)
  1. A²i: abstract² interpretation. Proc. ACM Program. Lang., 3(POPL), 2019.
  2. Formal languages and their relation to automata. Addison-Wesley Longman Publishing Co., Inc., 1969.
  3. Monotone data flow analysis frameworks. Acta Informatica, 7(3):305–317, Sep 1977.
  4. From Datalog to flix: a declarative language for fixed points on lattices. SIGPLAN Not., 51(6):194–208, Jun 2016.
  5. Florian Martin. PAG – an efficient program analyzer generator. International Journal on Software Tools for Technology Transfer, 2(1):46–67, Nov 1998.
  6. Principles of Program Analysis. Springer Publishing Company, Incorporated, 2010.
  7. LL(*): the foundation of the ANTLR parser generator. In ACM-SIGPLAN Symposium on Programming Language Design and Implementation, 2011.
  8. J. Dolby S. Fink. WALA – The TJ Watson Libraries for Analysis. http://wala.sourceforge.net/, 2012.
  9. FlowSpec: declarative dataflow analysis specification. In Proceedings of the 10th ACM SIGPLAN International Conference on Software Language Engineering, SLE 2017, page 221–231, New York, NY, USA, 2017. Association for Computing Machinery.
User Edit Pencil Streamline Icon: https://streamlinehq.com
Authors (1)
  1. Abdullah Rasheed (2 papers)

Summary

We haven't generated a summary for this paper yet.