Abo
  • IT-Karriere:

Ada und Spark: Mehr Sicherheit durch bessere Programmiersprachen

Viele Sicherheitslücken in Software sind auf Programmierfehler zurückzuführen. Diese Fehler lassen sich aber vermeiden - und zwar unter anderem durch die Wahl einer guten Programmiersprache. Ada und Spark gehören dazu, leider sind sie immer noch wenig bekannt.

Artikel von Johannes Kanig veröffentlicht am
Spark ist eine Teilmenge von Ada.
Spark ist eine Teilmenge von Ada. (Bild: Pixabay)

Es klingt auf den ersten Blick unwahrscheinlich, ist aber wahr: Die Wahl der Programmiersprache hat maßgeblichen Anteil daran, ob Fehler passieren. Gerade bei systemnaher Programmierung wie bei Mozilla und Embedded-Programmierung wie bei Nvidia können Softwarefehler viel Schaden anrichten. Mozilla verwendet für seine neue Rendering-Engine Rust, Nvidia für bestimmte Firmware-Elemente Ada und Spark. Warum haben sie sich für diese Sprachen entschieden statt etwa für Haskell oder Kotlin? Vor allem, weil Rust und Ada anders als die beiden anderen ohne Virtual Machine und Garbage Collector auskommen. Rust haben wir schon in einem früheren Artikel auf Golem.de vorgestellt, jetzt ist Ada dran.

Was sind Ada und Spark?

Inhalt:
  1. Ada und Spark: Mehr Sicherheit durch bessere Programmiersprachen
  2. Ada - numerische Typen
  3. Ada - Representation Clauses
  4. Spark kann automatisch potenzielle Fehler anzeigen

Ada ist eine prozedurale Programmiersprache wie C oder C++, enthält aber auch unverzichtbare Elemente wie Objektorientierung und Generics. Die Syntax orientiert sich eher an Pascal und nicht am C-typischen Stil mit den geschweiften Klammern. Beim Design wurde großer Wert auf die Lesbarkeit und Fehlervermeidung gelegt.

Die erste Version von Ada wurde 1983 standardisiert, im selben Jahr, in dem auch die erste Version von C++ erschien. Die Programmiersprache wurde ursprünglich für das US-Verteidigungsministerium entwickelt, bis heute ist Ada sehr präsent in Industrien wie der Luftfahrt und der Verteidigung. Teure Compiler ohne Open-Source-Alternativen machten eine weitere Verbreitung in den 1980er Jahren schwierig - heutzutage hat aber jeder Zugriff auf GCC, das Ada unterstützt.

Weitere Versionen der Sprache folgten in den Jahren 1995, 2005 und 2012. Die nächste Version soll Ada 2020 heißen und demzufolge nächstes Jahr erscheinen. Spark ist eine Schwestersprache von Ada, die einige Sprachfeatures entfernt, um noch mehr Sicherheit erreichen zu können. Jedes Spark-Programm ist also ein Ada-Programm, aber nicht unbedingt umgekehrt. Allerdings ermöglicht Spark weitreichende statische Analysen und kann zum Teil starke Garantien geben - dazu später mehr.

Die ersten Schritte

Stellenmarkt
  1. DIS AG, München
  2. Stadt Pforzheim, Pforzheim

Der einfachste Weg, einen Eindruck von Ada zu bekommen, ist die Adacore-Learn-Webseite: Auch ohne Installation können Interessierte gleich mit Ada und Spark loslegen. Für eigene Projekte sollten die nötigen freien Werkzeuge für Ada und Spark von der Webseite von Adacore heruntergeladen und installiert werden. In der Entwicklungsumgebung mit dem Namen GNATstudio kann man entweder sein eigenes Programm schreiben ("Create New Project" im ersten Dialog) oder die vielen Beispiele ansehen (im Menu Help -> GNAT -> Examples).

Eines der grundlegendsten Features von Ada sind die numerischen Typen.

Ada - numerische Typen 
  1. 1
  2. 2
  3. 3
  4. 4
  5.  


Anzeige
Hardware-Angebote
  1. 309,00€
  2. (reduzierte Überstände, Restposten & Co.)

GodsBoss 13. Jun 2019 / Themenstart

Das unkontrollierte Überschreiben von Speicherbereichen ist der Buffer Overflow. Ein...

SirFartALot 13. Jun 2019 / Themenstart

das mag ja fuer Auftragsprogrammierer oder Freelancer normal zu sein, die...

\pub\bash0r 12. Jun 2019 / Themenstart

Wobei ausgerechnet Java (und Applets) eigentlich ein sehr gutes Sicherheitsmodell haben...

kayozz 12. Jun 2019 / Themenstart

Ja, C# bzw. .NET hat auch Schwächen. Aber das Argument würde ich so nicht stehen...

ksson 12. Jun 2019 / Themenstart

Niemand sagt Ada sei fehlerlos. Im Zusammenhang mit Ada kennen alle nur den Ariane 5 Bug...

Kommentieren


Folgen Sie uns
       


Seasonic TX-700 Fanless und The First - Hands on (Computex 2019)

Das Prime TX-700 Fanless vo Seasonic ist das derzeit stärkste passiv gekühlte Netzteil am Markt. Die kompaktere Variante namens PX-500 wiederum passt in das The First von Monsterlabo, ein Gehäuse, um 200-Watt-Komponenten passiv zu kühlen.

Seasonic TX-700 Fanless und The First - Hands on (Computex 2019) Video aufrufen
Black Mirror Staffel 5: Der Gesellschaft den Spiegel vorhalten
Black Mirror Staffel 5
Der Gesellschaft den Spiegel vorhalten

Black Mirror zeigt in der neuen Staffel noch alltagsnäher als bisher, wie heutige Technologien das Leben in der Zukunft katastrophal auf den Kopf stellen könnten. Dabei greift die Serie auch aktuelle Diskussionen auf und zeigt mitunter, was bereits im heutigen Alltag schiefläuft - ein Meisterwerk! Achtung, Spoiler!
Eine Rezension von Tobias Költzsch

  1. Streaming Netflix testet an Instagram erinnernden News-Feed
  2. Start von Disney+ Netflix wird nicht dauerhaft alle Disney-Inhalte verlieren
  3. Videostreaming Netflix will Zuschauerzahlen nicht länger geheim halten

2FA mit TOTP-Standard: GMX sichert Mail und Cloud mit zweitem Faktor
2FA mit TOTP-Standard
GMX sichert Mail und Cloud mit zweitem Faktor

Auch GMX-Kunden können nun ihre E-Mails und Daten in der Cloud mit einem zweiten Faktor schützen. Bei Web.de soll eine Zwei-Faktor-Authentifizierung bald folgen. Der eingesetzte TOTP-Standard hat aber auch Nachteile.
Von Moritz Tremmel


    Elektromobilität: Wohin mit den vielen Akkus?
    Elektromobilität
    Wohin mit den vielen Akkus?

    Akkus sind die wichtigste Komponente von Elektroautos. Doch auch, wenn sie für die Autos nicht mehr geeignet sind, sind sie kein Fall für den Schredder. Hersteller wie Audi testen Möglichkeiten, sie weiterzuverwenden.
    Ein Bericht von Dirk Kunde

    1. Proterra Elektrobushersteller vermietet Akkus zur Absatzförderung
    2. Batterieherstellung Kampf um die Zelle
    3. US CPSC HP muss in den USA nochmals fast 80.000 Akkus zurückrufen

      •  /