Session Details

W-JAX | 6. - 10. November 2017, München

Bernd Kolb
Dr. Markus Völter

de

09 Nov 2017
09:00 - 10:00
Am 6.11. ist Konferenzbeginn! ✓ 5-Tages-Special ✓ Kollegenrabatt Jetzt anmelden

Sichere(re) Software durch bessere Abstraktion und statische Analyse

09 Nov 2017
09:00 - 10:00

Neben einem geschärften Bewusstsein für Softwaresicherheit und der Schaffung von organisatorischen Randbedingungen, die eine sichere Entwicklung zulassen, sind auch die Sprachen und Werkzeuge, die wir zur Softwareentwicklung einsetzen, ein relevanter Faktor. Auch heute entstehen viele Sicherheitslücken immer noch aufgrund von Problemen wie Buffer Overruns, kaputter Zeigerarithmetik oder unvollständigen Verzweigungen oder Switch Fallthroughs.
Um hier Fortschritte zu machen, sind bessere Abstraktionen der Schlüssel. In modernen Sprachen und VMs helfen sie, sicherheitsrelevante Fehler wie Buffer Overruns gar nicht erst entstehen zu lassen. Programmannotationen können für die statische Programmanalyse verwendet und ausgewertet werden. Passende Abstraktionen helfen aber auch dabei, die Programmlogik für Fachanwender besser verständlich zu machen. Dadurch wird die Software leichter reviewbar, und Teile der Implementierung können durch Generierung oder Interpretation automatisiert werden, was wiederum hilft, Low-level-Fehler zu vermeiden.
In diesem Vortrag zeigen wir einige Beispiele, wie man mit diesen Mitteln Software robuster und damit sicherer entwickeln kann. Dabei kommen einige Konzepte aus der theoretischen Informatik zur Sprache (bspw. SMT Solver oder Model Checker), wir illustrieren alles aber mit konkreten Beispielen aus der Praxis. Damit sollte der Vortrag für jeden Softwareingenieur nachvollziehbar sein. Wir sprechen beispielhaft Werkzeuge wie Z3, MPS oder Xtext an, betonen aber die konzeptionellen Aspekte.

Ab jetzt exklusive Neuigkeiten erhalten:

Behind the Tracks

Agile & Culture
Teamwork & Methoden

Big Data & Machine Learning
Speicherung, Processing & mehr

Clouds, Container & Serverless
Alles rund um Cloud

Core Java & JVM Languages
Ausblicke & Best Practices

DevOps & Continuous Delivery
Deployment, Docker & mehr

Microservices
Strukturen & Frameworks

Web Development & JavaScript
JS & Webtechnologien

Performance & Security
Sichere Webanwendungen

Serverside & Enterprise Java
Spring, JDK & mehr

Digital Transformation & Innovation
Technologien & Vorgehensweisen

Software Architecture
Best Practices