2 Automata in Software Engineering

havana bubblegum bass, afro-cuban jazz griot

Listen on 93

Lyrics

[Verse 1]
In the world of regex engines, two paths we can take
Backtracking searches forward, then retreats for mistakes
Thompson builds an NFA, runs states all at once
One guarantees linear time, the other sometimes hunts

[Chorus]
Automata in software, state machines everywhere
From protocols to packets, they're handling with care
States and transitions, guarding every flow
In the code we're writing, automata make it go

[Verse 2]
Protocol state machines keep connections running clean
From handshake to established, every step's foreseen
TCP starts listening, then moves to synchronize
Each message changes state until the session dies

[Chorus]
Automata in software, state machines everywhere
From protocols to packets, they're handling with care
States and transitions, guarding every flow
In the code we're writing, automata make it go

[Bridge]
Model checking takes our system, builds a finite graph
Temporal logic questions: will this always last?
Eventually and always, until and next we say
Proving that our software won't go astray

[Verse 3]
Network packet filtering with DFA so fast
Every bit gets processed, no backtracking past
Pattern matching rules built into finite states
Accepts or rejects traffic at gigabit rates

[Chorus]
Automata in software, state machines everywhere
From protocols to packets, they're handling with care
States and transitions, guarding every flow
In the code we're writing, automata make it go

[Outro]
From Thompson to backtracking, protocols that sing
Model checking safety, packets on the wing
Finite states are everywhere in systems that we build
Automata theory keeps our software skilled

← 1 Automata in Compilers | 3 Automata in AI & Formal Methods →