Abstract interpretation in the Toy Optimizer

CF Bolz-Tereick wrote some excellent posts in which they introduce a small IR and optimizer and extend it with allocation removal. We also did a live stream together in which we did some more heap optimizations.

Max Bernstein
Cranelift, Part 3: Correctness in Register Allocation

https://www.di.ens.fr/~cousot/COUSOTpapers/IFIP77.shtml

Static determination of dynamic properties of recursive procedures. Cousot 1977

#abstractinterpretation

P. Cousot & R. Cousot, Static determination of dynamic properties of recursive procedures

does abstract interpretation need the full (category-theoretic) generality of adjunction or does (order-theoretic) gallois connection suffice? i guess maybe it depends on what kind of abstraction you're doing? are there good concrete examples where you need the former?

#categoryTheory #abstractInterpretation

I am listening to the @ttforall podcast with Jimmy Koppel on which parts of CS theory all software engineers should learn about (see also his blog post from 2021 on why programmers should(n't) learn theory). Now I'm curious to learn which parts of "theory" you think are the most useful for a software engineer.

Please boost this so this also finds an audience beyond the types community!

#SoftwareEngineering #Education #TypeTheory #ProgramVerification #AbstractInterpretation #ProofAssistant #HoareLogic #ModelChecking #SMT #OperationalSemantics #CategoryTheory #DomainTheory

Type Systems / Type Theory
25.4%
Runtime Verification (monitoring, instrumentation, ...)
11.7%
Control-Flow and Data-Flow Analysis
13.2%
Abstract Interpretation
4.6%
Formal Verification for Functional Programs (Curry-Howard, dependent types, proof assistants, ...)
10.2%
Formal Logic for Imperative Programs (Hoare logic, separation logic, ...)
9.6%
Automatic Program Verification (model checking, SMT solvers, ...)
8.1%
Operational Semantics (small-step and/or big-step)
8.6%
Semantic Models of Computation (category theory, domain theory, ...)
5.1%
Something else (comment below!)
3.6%
Poll ended at .
Type Theory Forall - #29 Can PL theory make you a better software engineer?

Type Theory Forall is a podcast about Type Theory and Programming Language research in general. We interview relevant people in our field.

Møller and Schwartzbach's lecture notes on #staticanalysis: https://cs.au.dk/~amoeller/spa/

I especially liked the exposition on #abstractinterpretation given in the slides https://cs.au.dk/~amoeller/spa/11-abstract-interpretation.pdf

Static Program Analysis

Hi there,
Can't help noticing that I am having a hard time finding fediverse accounts about my domain. Any chance you know people talking about #AbstractInterpretation, #StaticAnalysis, #SymbolicExecution, #SMT solvers and #FormalMethods in general?

Thanks in advance!

#introductions

Cat's Eye Technologies has been foisting weird #programminglanguages and other awful computational things on the world since 1995, which is far too long really and it's high time we stopped, but whatever.

Some of our more popular projects are #Befunge (#esolang, 25 years old this year!) and #ALPACA (#DSL for cellular automata.)

One of our recent projects is #SixtyPical, which puts #abstractinterpretation in the service of #retrocomputing.

For more, see http://catseye.tc/

Cat's Eye Technologies

Chris Pressey's modest esolang concern; serves as a database and gallery of open-source projects, primarily esoteric programming languages.

Minor #releaseannouncement:
SixtyPical 0.15 released.

🔧 https://github.com/catseye/SixtyPical/tree/0.15

Some highlights are:

▸ symbolic constants
▸ "fallthru" optimization (eliminates unneeded JMPs)
▸ rudimentary #Atari2600 support!

#AbstractInterpretation #Retrocomputing #LangDev

catseye/SixtyPical

SixtyPical - A 6502-like programming language with advanced static analysis [BSD license]