Version Mildenberg

lecture: Growing Up Software Development

From Hacker Culture to the Software of the Future

Event large

Hacker culture overcomes limitations in computer systems through
creativity and tinkering. At the same time, hacker culture has shaped
the practice of software development to this day. This is
problematic - techniques effective for breaking (into) a computer
systems are not necessarily suitable for developing resilient and
secure systems. It does not have to be this way: We can approach
software development as a methodical, systematic activity rather than
tinkering, and teach it accordingly. I'll review my experience
teaching these methods for the past 18 years and give some suggestions
on what *you* may do.


Hacker culture, which originated CCC (or vice versa?), overcomes
limitations in computer systems through creativity and tinkering.
Many activities of the hacker community have focussed on discovering
weaknesses of IT systems, and creativity and tinkering have been
enormously successful at this endeavour. At the same time, hacker
culture has shaped the practice of software development to this day.
This is problematic - techniques effective for breaking (into) a
computer systems are not necessarily suitable for developing resilient
and secure systems. The long, long list of vulnerabilities with
always the same root causes bears testament to this. Thus,
ironically, the very techniques hackers have used to discover and
fight vulnerabilities are responsible for them in the first place.


It does not have to be this way: It is possible to construct resilient
software systematically, greatly reducing the risk of failure.
However, this requires significant changes in culture, methodology,
and the tools we use to develop software. We need to approach
software development as a methodical, systematic activity rather than
tinkering, and teach it accordingly. This will lead to a set of
systematic, proven methods that lead to robust and correct software.
This talk will introduce available methods, tools, and languages
supporting such methodologies: program by design, type-based
modelling, mathematics, and functional programming. I'll review my
experience teaching these methods for the past 18 years and give some
suggestions on what *you* may do.

Info

Day: 2017-12-28
Start time: 23:15
Duration: 00:30
Room: Saal Dijkstra
Track: Resilience
Language: en

Links:

Files

Feedback

Click here to let us know how you liked this event.

Concurrent Events