symlink.ch
Wissen Vernetzt - deutsche News für die Welt
 
symlink.ch
FAQ
Mission
Über uns
Richtlinien

Moderation
Einstellungen
Story einsenden

Suchen & Index
Ruhmeshalle
Statistiken
Umfragen

Redaktion
Themen
Partner
Planet

XML | RDF | RSS
PDA | WAP | IRC
Symbar für Opera
Symbar für Mozilla

Freunde
Benutzergruppen
LUG Switzerland
LUG Vorarlberg
LUGen in DE
SIUG
CCCZH
Organisationen
Wilhelm Tux
FSF Europe
Events
LinuxDay Dornbirn
BBA Schweiz
CoSin in Bremgarten AG
VCFe in München
Menschen
maol
Flupp
Ventilator
dawn
gumbo
krümelmonster
XTaran
maradong
tuxedo

 
Fehlerfreie Software als «Grand Challenge»
Veröffentlicht durch Ventilator am Samstag 15. Oktober 2005, 11:15
Aus der berechneten-Bugs Abteilung
Programmieren balafre schreibt: "Wie die NZZ meldet, haben sich an der ETH Zürich an einen Kongress Computer Wissenschaflter aus aller Welt getroffen, um sich der «grossen Herausforderung» zu stellen: wie kann man fehlerfreien Code herstellen und dies auch noch mathematisch beweisen?"

Was ist los bei der Switch? | Druckausgabe | Weltweiter Wahlaufruf gegen Softwarepatente  >

 

 
symlink.ch Login
Login:

Passwort:

extrahierte Links
  • balafre
  • NZZ meldet
  • ETH Zürich
  • Mehr zu Programmieren
  • Auch von Ventilator
  • Diese Diskussion wurde archiviert. Es können keine neuen Kommentare abgegeben werden.
    Hello world! (Score:0)
    Von Anonymer Feigling am Saturday 15. October 2005, 14:06 MEW (#1)
    Die meisten "Hello world!" Programme sind absolut Fehlerfrei, bevor wieder einer kommt und behauptet es gibt kein fehlerfreies Programm...
    Re: Hello world! (Score:0)
    Von Anonymer Feigling am Saturday 15. October 2005, 15:56 MEW (#2)
    Hm, ganz so trivial ist das glaub ich nicht... zB in C müsste dann nämlich auch stdio.h fehlerfrei sein (schliesslich wirds benutzt um "Hello world!" auszugeben). Abgesehen davon meine ich mich zu erinnern, dass einer meiner Uniprofessoren gesagt hat, dass es mathematisch bewiesen ist dass es nicht mathematisch beweisbar ist dass ein Programm fehlerfrei ist (was für ein komplizierter Satz)?!
    Re: Hello world! (Score:2)
    Von tL (sümlink bei frozenbrain punkt com) am Saturday 15. October 2005, 16:28 MEW (#3)
    (User #981 Info) http://www.frozenbrain.com
    Naja, das einzige was du mathematisch beweisen kannst, ist dass ein Programm einer Spezifikation entspricht. Ob die Spezifikation fehlerfrei ist... wer weiss? Für genau dieses Problem gibt's glaub ich einen Fachbegriff, der mir aber momentan nicht geläufig ist.


    tL

    --
    ... I don't like it, but I guess things happen that way ... (J. Cash)
    Re: Hello world! (Score:0)
    Von Anonymer Feigling am Saturday 15. October 2005, 22:31 MEW (#4)
    Lass mich raten: Kundenwunsch?
    Re: Hello world! (Score:1)
    Von awi am Sunday 16. October 2005, 00:11 MEW (#5)
    (User #392 Info)
    Das Problem des allgemeinen Korrektheitsbeweises lässt sich eigentlich immer auf das Halteproblem zurückführen.
    D.h. der Prüf-Algorithmus soll 'lediglich' herausfinden ob der Eingabe-Algorithmus irgendwann terminiert.
    Das Problem: Natürlich hängt das Terminieren eines Algorithmus von der zu lösenden Aufgabe ab -- und die kann zum Beispiel ein ungelöstes mathematisches Problem austesten.

    Dann müßte der Prüf-Algorithmus automatisch den Sinn des zu prüfenden Algorithmus verstehen und das bislang ungelöste mathematische Problem lösen.
    Oder -- die andere Möglichkeit er müßte den Prüf-Algorithmus ausprobieren -- aber dann terminiert der Test-Algorithmus genau dann wenn auch der Prüfling terminiert.

    Man mag einwenden -- OK, aber für die Masse der Implementierungen trifft obiges nicht zu und der Prüfer kann zu einem Ergebnis kommen.
    --> Rückfrage: Dann müßte es also einen Unterscheider zwischen Testbarer und Nicht-Testbarer Software geben....
    --> Goto Anfang

    Für weitere Überlegungen solcher Art empfehle ich das Buch "Gödel-Escher-Bach".

    Re: Hello world! (Score:2)
    Von tL (sümlink bei frozenbrain punkt com) am Monday 17. October 2005, 20:15 MEW (#8)
    (User #981 Info) http://www.frozenbrain.com
    Mmmh.. Gödel, Escher, Bach... Das muss ich unbedingt noch fertig lesen.. Auch wenn ein, zwei Ansichten daraus unterdessen etwas "outdated" sind, finde ich das Buch sehr wertvoll.


    tL

    --
    ... I don't like it, but I guess things happen that way ... (J. Cash)
    Re: Hello world! (Score:0)
    Von Anonymer Feigling am Tuesday 18. October 2005, 01:26 MEW (#10)
    Es geht doch gar nicht darum, fuer jeden beliebigen Algorhytmus bzw. ein beliebiges Program zu beweisen, dass es korrekt sei bzw. zu einem Ende kommt. Es geht umgekehrt darum, Programme so zu schreiben, dass die Korrektheit beweisbar ist. Sicherlich gibt es auch unzaehlige Faelle und Probleme, wo dies niemals moeglich ist. Heutzutage werden allerdings nicht mal "triviale" Programme geprueft geschweige korrekt implementiert.

    Ausserdem wird haeufig mit dem Halte-Problem argumentiert, wo keines existiert. Vorraussetzung scheint aber die Verwendung einer funktionalen Programmiersprache z.B. Haskell. Wenn jemand nun ein Bibliothek von Moduln erstellt, die auf Korrekt heit geprueft sind, dann ist es zumindest denkbar Software zu entwickeln, die in weiten Teilen auf korrektem Code basiert. Aehnliches ist ja Gang und Gaebe mit Java's JDK oder Eiffel's Entwicklungsumgebung, wobei die JDK sicherlich getestet aber wohl kaum mathematisch bewiesen korrekt ist.

    Das bedeutet aber einen grossen Verzicht auf Individualitaet und Anpassung an Konventionen solcher Umgebungen. Das ist sicherlich schneller und sicherer aber ziemlich trocken. Solange Sprachen wie Eiffel oder Haskell nicht als "cool" angesehen werden und auch nur in Ansaetzen gelehrt werden, wird sich dies aber kaum durchsetzen, jedenfalls nicht im Open-Source Bereich.
    Re: Hello world! (Score:1)
    Von beza1e1 am Sunday 16. October 2005, 11:04 MEW (#6)
    (User #1981 Info) http://beza1e1.tuxen.de/
    Ich glaube das ist der feuchte Traum vieler Informatiker: Ein Program mathematisch beweisen zu können.

    Mit ein paar Funktionen geht das ja, aber so allgemein habe ich meine Zweifel, ob das überhaupt das Ziel sein sollte.
    Re: Hello world! (Score:0)
    Von Anonymer Feigling am Monday 17. October 2005, 22:24 MEW (#9)
    Es ist bewiesen, daß niemand ein Programm schrei-
    ben kann, das so eine Überprüfung macht.

    Man kann beweisbar fehlerfreie Programme schreiben
    (fehlt noch die Hardware). SPARC ist so ein An-
    satz für eine Sprache.

    Re: Hello world! (Score:1)
    Von Pasci am Monday 17. October 2005, 08:16 MEW (#7)
    (User #1968 Info) http://www.dev4u.ch
    Murphy's computers laws

    Every non- trivial program has at least one bug
    Corollary 1 - A sufficient condition for program triviality is that it have no bugs.
    Corollary 2 - At least one bug will be observed after the author leaves the organization.

    Linux User Group Schweiz
    Durchsuche symlink.ch:  

    Never be led astray onto the path of virtue.
    trash.net

    Anfang | Story einsenden | ältere Features | alte Umfragen | FAQ | Autoren | Einstellungen