Hal: A Language-General Framework for Analysis of User-Specified Monotone Frameworks [DRAFT] (2405.06505v3)
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.
- A²i: abstract² interpretation. Proc. ACM Program. Lang., 3(POPL), 2019.
- Formal languages and their relation to automata. Addison-Wesley Longman Publishing Co., Inc., 1969.
- Monotone data flow analysis frameworks. Acta Informatica, 7(3):305–317, Sep 1977.
- From Datalog to flix: a declarative language for fixed points on lattices. SIGPLAN Not., 51(6):194–208, Jun 2016.
- Florian Martin. PAG – an efficient program analyzer generator. International Journal on Software Tools for Technology Transfer, 2(1):46–67, Nov 1998.
- Principles of Program Analysis. Springer Publishing Company, Incorporated, 2010.
- LL(*): the foundation of the ANTLR parser generator. In ACM-SIGPLAN Symposium on Programming Language Design and Implementation, 2011.
- J. Dolby S. Fink. WALA – The TJ Watson Libraries for Analysis. http://wala.sourceforge.net/, 2012.
- 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.
- Abdullah Rasheed (2 papers)