scieee Science in your language
[en] (orig)

Three Foundational Ideas That Shaped Software Engineering

Author: Dutta, Abhishek
Publisher: Zenodo
DOI: 10.5281/zenodo.17293851
Source: https://zenodo.org/records/17293851/files/adutta-usrse25-talk.pdf
Th ee Founda ional Ideas
Tha Shaped So wa e Enginee ing
Talk a he 3 d Annual Con e ence o he US Resea ch So wa e Enginee Associa ion, Philadelphia (USA), Oc 7, 2025.
[email p o ec ed]
D . Abhishek Du a
P incipal Resea ch So wa e Enginee
Uni e si y o Ox o d
Founda ional Idea 1
eplace:
push bp
mo bp, sp
mo al, dl
mo cl, sil
mo qwo d p [ bp - 8], di
mo by e p [ bp - 9], cl
mo by e p [ bp - 10], al
mo dwo d p [ bp - 16], 0
.LBB0_1:
mo eax, dwo d p [ bp - 16]
mo ecx, eax
mo dx, qwo d p [ bp - 8]
mo sx eax, by e p [ dx + cx]
cmp eax, 0
je .LBB0_6
mo eax, dwo d p [ bp - 16]
mo ecx, eax
mo dx, qwo d p [ bp - 8]
mo sx eax, by e p [ dx + cx]
mo sx esi, by e p [ bp - 9]
cmp eax, esi
jne .LBB0_4
mo al, by e p [ bp - 10]
mo ecx, dwo d p [ bp - 16]
mo edx, ecx
mo si, qwo d p [ bp - 8]
mo by e p [ si + dx], al
.LBB0_4:
jmp .LBB0_5
.LBB0_5:
mo eax, dwo d p [ bp - 16]
add eax, 1
mo dwo d p [ bp - 16], eax
jmp .LBB0_1
.LBB0_6:
pop bp
e
An example p og am (i.e. sequence o machine
ins uc ions) o eplace all occu ences o a
cha ac e in a s ing wi h a new cha ac e
Assembly code gene a ed using h ps://godbol .o g/

eplace:
push bp
mo bp, sp
mo al, dl
mo cl, sil
mo qwo d p [ bp - 8], di
mo by e p [ bp - 9], cl
mo by e p [ bp - 10], al
mo dwo d p [ bp - 16], 0
.LBB0_1:
mo eax, dwo d p [ bp - 16]
mo ecx, eax
mo dx, qwo d p [ bp - 8]
mo sx eax, by e p [ dx + cx]
cmp eax, 0
je .LBB0_6
mo eax, dwo d p [ bp - 16]
mo ecx, eax
mo dx, qwo d p [ bp - 8]
mo sx eax, by e p [ dx + cx]
mo sx esi, by e p [ bp - 9]
cmp eax, esi
jne .LBB0_4
mo al, by e p [ bp - 10]
mo ecx, dwo d p [ bp - 16]
mo edx, ecx
mo si, qwo d p [ bp - 8]
mo by e p [ si + dx], al
.LBB0_4:
jmp .LBB0_5
.LBB0_5:
mo eax, dwo d p [ bp - 16]
add eax, 1
mo dwo d p [ bp - 16], eax
jmp .LBB0_1
.LBB0_6:
pop bp
e
An example p og am (i.e. sequence o machine
ins uc ions) o eplace all occu ences o a
cha ac e in a s ing wi h a new cha ac e
eplace:
push bp
mo bp, sp
mo al, dl
mo cl, sil
mo qwo d p [ bp - 8], di
mo by e p [ bp - 9], cl
mo by e p [ bp - 10], al
mo dwo d p [ bp - 16], 0
.LBB0_1:
mo eax, dwo d p [ bp - 16]
mo ecx, eax
mo dx, qwo d p [ bp - 8]
mo sx eax, by e p [ dx + cx]
cmp eax, 0
je .LBB0_6
mo eax, dwo d p [ bp - 16]
mo ecx, eax
mo dx, qwo d p [ bp - 8]
mo sx eax, by e p [ dx + cx]
mo sx esi, by e p [ bp - 9]
cmp eax, esi
jne .LBB0_4
mo al, by e p [ bp - 10]
mo ecx, dwo d p [ bp - 16]
mo edx, ecx
mo si, qwo d p [ bp - 8]
mo by e p [ si + dx], al
.LBB0_4:
jmp .LBB0_5
.LBB0_5:
mo eax, dwo d p [ bp - 16]
add eax, 1
mo dwo d p [ bp - 16], eax
jmp .LBB0_1
.LBB0_6:
pop bp
e
eplace:
push bp
mo bp, sp
mo al, dl
mo cl, sil
mo qwo d p [ bp - 8], di
mo by e p [ bp - 9], cl
mo by e p [ bp - 10], al
mo dwo d p [ bp - 16], 0
.LBB0_1:
mo eax, dwo d p [ bp - 16]
mo ecx, eax
mo dx, qwo d p [ bp - 8]
mo sx eax, by e p [ dx + cx]
cmp eax, 0
je .LBB0_6
mo eax, dwo d p [ bp - 16]
mo ecx, eax
mo dx, qwo d p [ bp - 8]
mo sx eax, by e p [ dx + cx]
mo sx esi, by e p [ bp - 9]
cmp eax, esi
jne .LBB0_4
mo al, by e p [ bp - 10]
mo ecx, dwo d p [ bp - 16]
mo edx, ecx
mo si, qwo d p [ bp - 8]
mo by e p [ si + dx], al
.LBB0_4:
jmp .LBB0_5
.LBB0_5:
mo eax, dwo d p [ bp - 16]
add eax, 1
mo dwo d p [ bp - 16], eax
jmp .LBB0_1
.LBB0_6:
pop bp
e
Loop
B anching
Böhm and Jacopini (1966) ma hema ically p o ed ha any compu able
unc ion can be implemen ed using jus h ee con ol s uc u es:
●Sequence o ins uc ions
●Selec ion (e.g. i … else)
●Repe i ion (e.g. o loop)
In o ma ion Hiding
●Decompose a la ge scale sys em in o modules
which ha e an in e ace ha e eal as li le as
possible abou i s inne wo kings
Module
Pa nas, Da id L. "On he c i e ia o be used in decomposing sys ems in o modules." Communica ions o he ACM 15.12 (1972): 1053-1058.
In e ace
Ex e nal use s can bene i
om he se ices o e ed
by his module wi hou
needing o unde s and i s
in e nal ope a ional de ails.
A la ge scale sys em can be de eloped and unde s ood in e ms o hese modules.

In o ma ion Hiding
●Inspi ed by he idea o in o ma ion hiding, B. Lisko and S. Zilles
(1974) o malised he concep o Abs ac Da a Types (ADT)
–Enables p og amme s o eason abou da a s uc u es h ough well-
de ined ope a ions a he han h ough a long sequence o low le el
machine ins uc ions o e ch, upda e and s o e smalle uni s o a da a
s uc u e
Lisko , Ba ba a, and S ephen Zilles. "P og amming wi h abs ac da a ypes." ACM Sigplan No ices 9, no. 4 (1974): 50-59.
S ack
Push()
Pop()
In o ma ion Hiding
●Inspi ed by he idea o in o ma ion hiding, B. Lisko and S. Zilles
(1974) o malised he concep o Abs ac Da a Types (ADT)
–Enables p og amme s o eason abou da a s uc u es h ough well-
de ined ope a ions a he han h ough a long sequence o low le el
machine ins uc ions o e ch, upda e and s o e smalle uni s o a da a
s uc u e
Lisko , Ba ba a, and S ephen Zilles. "P og amming wi h abs ac da a ypes." ACM Sigplan No ices 9, no. 4 (1974): 50-59.
S ack
Push()
Pop()
S ack Push()
Pop()
In e ace
Toge he , hese ideas laid he g oundwo k o
building complex so wa e sys ems using
composable and comp ehensible modules.
S uc u ed P og amming (1966)
In o ma ion Hiding (1972)
Founda ional Idea 3
How complex o simple a s uc u e is depends
c i ically upon he way in which we desc ibe i .
– H. A. Simon (1962)
Sys ems a e no inhe en ly simple o complex. The way
we desc ibe a sys em makes i simple o complex.

How complex o simple a s uc u e is depends
c i ically upon he way in which we desc ibe i .
– H. A. Simon (1962)
Wha is he “ igh ep esen a ion” o desc ibe complex sys ems?
How complex o simple a s uc u e is depends
c i ically upon he way in which we desc ibe i .
– H. A. Simon (1962)
Wha is he “ igh ep esen a ion” o desc ibe complex sys ems?
Tu ing Awa d (1975)
Nobel P ize in Economics (1978)
Hie a chical Rep esen a ion
●H. A. Simon’s key insigh was o iew a complex sys em as a hie a chical
s uc u e composed o subsys ems (o modules) which in e ac mo e
in e nally han ex e nally.
Module A Module B
He be , Simon. "The a chi ec u e o complexi y." P oceedings o he Ame ican Philosophical Socie y 106, no. 6 (1962): 467-482.
Hie a chical Rep esen a ion
●H. A. Simon’s key insigh was o iew a complex sys em as a hie a chical
s uc u e composed o subsys ems (o modules) which in e ac mo e
in e nally han ex e nally.
●Subsys ems a highe le els we e de i ed om subsys ems ope a ing a
lowe le els o he hie a chy
Riesenhube , Maximilian, and Tomaso Poggio. "Hie a chical
models o objec ecogni ion in co ex." Na u e Neu oscience 1999
Simonyan, Ka en, and And ew Zisse man. "Ve y deep
con olu ional ne wo ks o la ge-scale image ecogni ion." 2014
When you w i e code, i is highly likely ha you
a e using hese concep s wi hou hinking abou
hem. These ideas we e no a ailable 75 yea s
ago when compu e p og amming was e ol ing.

Wha is he nex hing ha is cu en ly no ob ious
o us bu will become so o u u e gene a ions?
Wha is he nex hing ha is cu en ly no ob ious
o us bu will become so o u u e gene a ions?
●In he pas , bo h w i ing and eading compu e code was
challenging.
●Now wi h code LLM, w i ing code is becoming less challenging bu
unde s anding and debugging exis ing code is s ill labo ious.
●I is highly likely ha we will ind no el ways o ep esen la ge
co pus o code in a o m ha will be easie o unde s and, debug
and ex end.
Thank you