Zur Praktischen Anwendbarkeit Mathematisch Rigoroser Methoden Zum Sicherstellen Der Korrektheit Von Sequentiellen Computerprogrammen

Total Page:16

File Type:pdf, Size:1020Kb

Zur Praktischen Anwendbarkeit Mathematisch Rigoroser Methoden Zum Sicherstellen Der Korrektheit Von Sequentiellen Computerprogrammen Zur praktischen Anwendbarkeit mathematisch rigoroser Methoden zum Sicherstellen der Korrektheit von sequentiellen Computerprogrammen an den Fachbereich Informatik der Technischen Hochschule Darmstadt zum Erlangen des akademischen Grades Doktor-Ingenieur (Dr.-Ing.) eingereichte Dissertation von Robert Laurence Baber geboren in Los Angeles, California, U.S.A. Master of Science in Electrical Engineering und Master of Science in Industrial Management, Massachusetts Institute of Technology Erstreferent: Prof. Dr.-Ing. Hans-Jürgen Hoffmann Korreferent: Prof. Dr. David Lorge Parnas eingereicht am: 1994 August 4 Prüfungstermin: 1994 September 30 Erschienen in Darmstadt, 1994 D 17ÜÜÜ GGGKolumnentitelzeile 14,4p hoch. Kolumnentitel 10p, Seitenzahl 12p GGG ÜÜÜ ÜÜÜ GGGAbstandszeile, 13,98p hoch GGG ÜÜÜ ÜÜÜ GGG ???Erste Zeile im Textbereich ??? GGG ÜÜÜ ÜÜÜ GGGSchrift 12p, Zeilenabstand 14,4p GGG ÜÜÜ ÜÜÜ GGG GGG ÜÜÜ ÜÜÜ GGG GGG ÜÜÜ ÜÜÜ GGG GGG ÜÜÜ Satzspiegel Baber: Praktische Anwendbarkeit ... Höhe des Textbereichs = 24,100 cm = 683,16p = 47,44 Zeilen á 14,4p = 48,797 Zeilen á 14p ÜÜÜ GGG GGG ÜÜÜ ÜÜÜ GGG GGG ÜÜÜ ÜÜÜ GGG GGG ÜÜÜ ÜÜÜ GGG yyy ??? gggLetzte Zeile im Textbereich ggg ??? yyy GGG ÜÜÜ Geleitworte Die Qualität technischer Produkte muß gesichert und geprüft sein, bevor sie an einen Kunden ausgeliefert werden. Das gilt auch für Programme! Bei der Programmentwicklung fehlte lange Zeit ein Ansatz, diese Forderung zu erfüllen. Es wurde drauflos programmiert und geglaubt oder gehofft, daß kein Fehler vorliegt, der die Qualität mindert oder das Programm eigentlich unbrauchbar macht. In der Praxis ist es weitgehend immer noch so. Die in den letzten beiden Jahrzehnten gewonnenen wissenschaftlichen Erkenntnisse zur Qualitätssicherung beim Entwurf und der Implementierung sowie dann auch der stichhaltigen, nachvollziehbaren Überprüfung haben sich kaum bei Praktikern eingeführt; es sei zu mathematisch, zu aufwendig, zu schwierig waren (und sind) häufig gehörte Meinungsäußerungen von Programmierern, Software-Entwicklern und Projektverantwortlichen. Daß dieses Argument auf schwachen Füßen steht, zeigt diese Schrift. Zu einem ingenieurmäßigen Vorgehen beim Programmentwurf und der Programmierung sind kaum mehr mathematische Kenntnisse als die der Booleschen Algebra und der Mengenlehre erforderlich. Der Aufwand schlägt nicht zu Buche, wenn die Maßnahmen zur Qualitätssicherung beim Entwurf und der Programmierung sogleich mitbehandelt werden; es steigert sich sogar der Dokumentationswert, so daß auch eine qualitätsbezogene Überprüfung fast nebenbei abfällt. Und um Schwierigkeiten zu meistern, ist bekanntermaßen intensive Vorbereitung und stetige Übung der einfachste Weg; man muß es einfach tun, Erfahrung im Umgang mit den Formalien stellt sich ein, plötzlich sind die aufgezeigten Vorgehensweisen ganz selbstverständlich. Jedem, der sich diesen Herausforderungen bei seiner praktischen Arbeit stellen will, sei diese Schrift zum Studium empfohlen. Univ.-Prof. Dr.-Ing. Hans-Jürgen Hoffmann Darmstadt, im Februar 1995 Seit der schrittmachenden Arbeit von Robert Floyd in den 60er Jahren sind uns die Grundideen der Methoden zum Sicherstellen der Korrektheit von sequentiellen Computerprogrammen bekannt. Mit den Ergänzungen von (u.a.) Mills, Majster- Cederbaum und de Bruijn haben wir allgemein anwendbare theoretische Grundlagen für dieses Gebiet gewonnen. Heute gibt es keinen theoretischen Grund, die Korrektheit von Programmen, die in der Praxis geschrieben werden, nicht zu beweisen. Trotz diesen erfreulichen Tatsachen muß festgestellt werden, daß diese Ideen in der Industrie sehr selten angewendet werden. Es stellt sich die Frage, “Warum hat sich die Anwendung von mathematischen Methoden im Bereich Software Engineering nicht weiter durchgesetzt?” Meines Erachtens liegt das Hauptproblem in den bisher erarbeiteten Antworten auf die zwei Darstellungsfragen: · Wie können wir die durch Programme verwirklichten Funktionen leserlich beschreiben? · Wie können wir Datenzustände beschreiben? In den weit verbreiteten Arbeiten von Floyd, Hoare und Dijkstra wird angenommen, daß eine 1:1 Beziehung zwischen Bezeichnern und Programmvariablen besteht. Diese Annahme ermöglicht eine einfache Beschreibung der Datenzustände. Leider trifft diese Annahme bei den meisten in der Praxis benutzten Programmiersprachen nicht zu. Die Ansätze von Mills, Majster-Cederbaum, de Bruijn und anderen sind allgemeingültig, weil in diesen Arbeiten einfach von “states” gesprochen wird, ohne eine bestimmte Zustandsdarstellungsweise anzunehmen. Dies hat zur Folge, daß der Ingenieur, der diese Methoden anwenden will, seine eigene Darstellungsweise erfinden muß. Es hat sich herausgestellt, daß dies für die Mehrheit der Praktiker zu schwierig ist und daß sie deswegen auf die formale Überprüfung von Programmkorrektheit verzichten. In dieser Arbeit von Robert Baber bekommen die Leser und Leserinnen praktische Vorschläge und Beispiele, die die Lücke zwischen Theorie und Praxis überbrücken. Es wird gezeigt, wie man die seit 20 Jahren bekannte theoretische Grundlage in einem praktikablen Verfahren anwenden kann. In der vorliegenden Arbeit findet man Datenzustandsdarstellungen ohne die Einschränkung, die in den Ansätzen von Floyd, Hoare und Dijkstra impliziert sind. Man findet auch neue Vorschläge zur Beschreibung von Funktionen und Prädikaten. Viele Ingenieure werden die hier eingeführte Notation verständlicher als die klassische Schreibweise finden. Dieses Buch baut auf viele frühere Arbeiten auf und faßt die verschiedenen Ansätze zusammen. Es wird allen in der Praxis beschäftigten Ingenieuren und Informatikern empfohlen. Das umfangreiche Literaturverzeichnis wird auch vielen Forschern behilflich sein. Prof. Dr. rer. nat. (h.c.) David Lorge Parnas, Ph.D., FRSC Department of Electrical and Computer Engineering McMaster University Hamilton, Ontario, Canada L8S 4K1 Danksagung Meinem Doktorvater Prof. Dr.-Ing. Hans-Jürgen Hoffmann möchte ich vor allem für seine Geduld mit meinem nichtmuttersprachlichen Deutsch sowie für die Gelegenheiten, mit ihm verschiedene fachliche und technische Aspekte dieser Arbeit in persönlichen Gesprächen zu erörtern, danken. Diese Gespräche führten zu einer klareren und ausführlicheren Darstellung einiger Punkte. Mein herzlicher Dank gehört dem Korreferenten Prof. Dr. David L. Parnas, der trotz erheblichen Terminschwierigkeiten, deren Überwindung mit Unannehmlichkeiten verbunden war, diese Aufgabe übernommen hat. Darüber hinaus danke ich ihm für mehrere sowohl schriftliche als auch persönliche fachliche Dialoge im Verlaufe der Jahre über dieses und verwandte Themen. Meiner Frau Ursula und meinem Sohn Eric danke ich für stundenlanges Korrekturlesen. Meiner Tochter Ingrid danke ich für die rechtzeitige Bereitstellung plötzlich benötigter technischer Hilfsmittel. Eher mittelbar jedoch im wesentlichen Maße haben auch viele andere Personen zur Entstehung dieser Arbeit beigetragen: Prof. Dr. Hermann Dinges, Prof. Dr. Hilmar Drygas und Dr. John B. Ferebee verdanke ich eine Erweiterung und Vertiefung meiner mathematischen Kenntnisse sowie eine mathematischere Denkweise. Prof. Dr. Edsger W. Dijkstra und Prof. Dr. C.A.R. Hoare danke ich für ihre Unterstützung zunächst durch ihre Bücher und Artikel, die mich in diesen Stoff eingeführt haben, und danach für ihren in persönlichen Kontakten übermittelten Zuspruch und ihre Ermunterung meiner Überlegungen, die u.a. zu dieser Arbeit geführt haben. Drs. Willem Dijkhuis, der mich bei Software Reflected und meinen späteren Büchern mit wertvollem Rat und Tat unterstützte, bin ich sehr verbunden. Für Unterstützung und Ermunterung bei verschiedenen ingenieurwissenschaftlichen Bemühungen danke ich Prof. Dr.-Ing. Rudolf Saal und Prof. Dr.-Ing. Adolf Schwab. Prof. Dr.-Ing. Rudolf Saal hat mir auch nützliche Hinweise auf klassische deutschsprachige Lehrbücher für Ingenieurstudenten gegeben. Zusammenfassende Übersicht Gegenstand dieser Arbeit ist eine mathematische Grundlage für die Softwareentwicklung, die den wissenschaftlichen Grundlagen der klassischen Ingenieurwissenschaften entspricht, und ihre praktische Anwendung sowohl bei der Programmkonstruktion als auch bei der Programmkorrektheitsbeweisführung. Die hier zusammengestellte Grundlage und Vorgehensweise unterscheiden sich von denen der bisherigen Literatur über die Programmkorrektheitsbeweisführung vor allem durch eine auf die Belange der Praxis gerichtete Integration ausgewählter theoretischer Kenntnisse. Die Betrachtung von Programmausführungszuständen z.B. als Folgen von Programmvariablen (Datenumgebungen genannt) ermöglicht die unmittelbare Behandlung der Vereinbarung und der Freigabe von Variablen sowie des Vorhandenseins gleichnamiger Variablen (wie sie z.B. bei blockstrukturierten Programmiersprachen und in rekursiven Programmen vorkommen) in Korrektheitsbeweisen. Weitere aus praktischer Sicht wichtige Aspekte der Programmkorrektheitsbeweisführung und -konstruktion, denen bisher in der einschlägigen Fachliteratur nicht bzw. nicht ausreichend Rechnung getragen worden ist, werden hier behandelt bzw. berücksichtigt, z.B. Rechnerarithmetik (Ungenauigkeit der Gleitkommaarithmetik und ganzzahlige Arithmetik auf beschränkten Intervallen), Definitionsbereiche von Programmanweisungen, das Streben nach Einfachheit sowohl der mathematischen Grundlage als auch ihrer praktischen Handhabung, die informale bis formale, teilweise bis vollständige Anwendung, nicht terminierende Programme, die Systematisierung der praktischen Handhabung usw. Kapitel 1 behandelt das Problem fehlerhafter Software aus übergeordneter
Recommended publications
  • A Politico-Social History of Algolt (With a Chronology in the Form of a Log Book)
    A Politico-Social History of Algolt (With a Chronology in the Form of a Log Book) R. w. BEMER Introduction This is an admittedly fragmentary chronicle of events in the develop­ ment of the algorithmic language ALGOL. Nevertheless, it seems perti­ nent, while we await the advent of a technical and conceptual history, to outline the matrix of forces which shaped that history in a political and social sense. Perhaps the author's role is only that of recorder of visible events, rather than the complex interplay of ideas which have made ALGOL the force it is in the computational world. It is true, as Professor Ershov stated in his review of a draft of the present work, that "the reading of this history, rich in curious details, nevertheless does not enable the beginner to understand why ALGOL, with a history that would seem more disappointing than triumphant, changed the face of current programming". I can only state that the time scale and my own lesser competence do not allow the tracing of conceptual development in requisite detail. Books are sure to follow in this area, particularly one by Knuth. A further defect in the present work is the relatively lesser availability of European input to the log, although I could claim better access than many in the U.S.A. This is regrettable in view of the relatively stronger support given to ALGOL in Europe. Perhaps this calmer acceptance had the effect of reducing the number of significant entries for a log such as this. Following a brief view of the pattern of events come the entries of the chronology, or log, numbered for reference in the text.
    [Show full text]
  • Internet Engineering Jan Nikodem, Ph.D. Software Engineering
    Internet Engineering Jan Nikodem, Ph.D. Software Engineering Theengineering paradigm Software Engineering Lecture 3 The term "software crisis" was coined at the first NATO Software Engineering Conference in 1968 by: Friedrich. L. Bauer Nationality;German, mathematician, theoretical physicist, Technical University of Munich Friedrich L. Bauer 1924 3/24 The term "software crisis" was coined at the first NATO Software Engineering Conference in 1968 by: Peter Naur Nationality;Dutch, astronomer, Regnecentralen, Niels Bohr Institute, Technical University of Denmark, University of Copenhagen. Peter Naur 1928 4/24 Whatshouldbe ourresponse to software crisis which provided with too little quality, too late deliver and over budget? Nationality;Dutch, astronomer, Regnecentralen, Niels Bohr Institute, Technical University of Denmark, University of Copenhagen. Peter Naur 1928 5/24 Software should following an engineering paradigm NATO conference in Garmisch-Partenkirchen, 1968 Peter Naur 1928 6/24 The hope is that the progress in hardware will cure all software ills. The Oberon System User Guide and Programmer's Manual. ACM Press Nationality;Swiss, electrical engineer, computer scientist ETH Zürich, IBM Zürich Research Laboratory, Institute for Media Communications Martin Reiser 7/24 However, a critical observer may notethat software manages to outgrow hardware in size and sluggishness. The Oberon System User Guide and Programmer's Manual. ACM Press Nationality;Swiss, electrical engineer, computer scientist ETH Zürich, IBM Zürich Research Laboratory, Institute for Media Communications Martin Reiser 8/24 Wirth's computing adage Software is getting slower more rapidly than hardware becomes faster. Nationality;Swiss, electronic engineer, computer scientist ETH Zürich, University of California, Berkeley, Stanford University University of Zurich. Xerox PARC.
    [Show full text]
  • A Static Analysis Framework for Security Properties in Mobile and Cryptographic Systems
    A Static Analysis Framework for Security Properties in Mobile and Cryptographic Systems Benyamin Y. Y. Aziz, M.Sc. School of Computing, Dublin City University A thesis presented in fulfillment of the requirements for the degree of Doctor of Philosophy Supervisor: Dr Geoff Hamilton September 2003 “Start by doing what’s necessary; then do what’s possible; and suddenly you are doing the impossible” St. Francis of Assisi To Yowell, Olivia and Clotilde Declaration I hereby certify that this material, which I now submit for assessment on the programme of study leading to the award of the degree of Doctor of Philosophy (Ph.D.) is entirely my own work and has not been taken from the work of others save and to the extent that such work has been cited and acknowledged within the text of my work. Signed: I.D. No.: Date: Acknowledgements I would like to thank all those people who were true sources of inspiration, knowledge, guidance and help to myself throughout the period of my doctoral research. In particular, I would like to thank my supervisor, Dr. Geoff Hamilton, without whom this work would not have seen the light. I would also like to thank Dr. David Gray, with whom I had many informative conversations, and my colleagues, Thomas Hack and Fr´ed´ericOehl, for their advice and guidance. Finally, I would like to mention that the work of this thesis was partially funded by project IMPROVE (Enterprise Ireland Strategic Grant ST/2000/94). Benyamin Aziz Abstract We introduce a static analysis framework for detecting instances of security breaches in infinite mobile and cryptographic systems specified using the languages of the π-calculus and its cryptographic extension, the spi calculus.
    [Show full text]
  • Static Analyses for Stratego Programs
    Static analyses for Stratego programs BSc project report June 30, 2011 Author name Vlad A. Vergu Author student number 1195549 Faculty Technical Informatics - ST track Company Delft Technical University Department Software Engineering Commission Ir. Bernard Sodoyer Dr. Eelco Visser 2 I Preface For the successful completion of their Bachelor of Science, students at the faculty of Computer Science of the Technical University of Delft are required to carry out a software engineering project. The present report is the conclusion of this Bachelor of Science project for the student Vlad A. Vergu. The project has been carried out within the Software Language Design and Engineering Group of the Computer Science faculty, under the direct supervision of Dr. Eelco Visser of the aforementioned department and Ir. Bernard Sodoyer. I would like to thank Dr. Eelco Visser for his past and ongoing involvment and support in my educational process and in particular for the many opportunities for interesting and challenging projects. I further want to thank Ir. Bernard Sodoyer for his support with this project and his patience with my sometimes unconvential way of working. Vlad Vergu Delft; June 30, 2011 II Summary Model driven software development is gaining momentum in the software engi- neering world. One approach to model driven software development is the design and development of domain-specific languages allowing programmers and users to spend more time on their core business and less on addressing non problem- specific issues. Language workbenches and support languages and compilers are necessary for supporting development of these domain-specific languages. One such workbench is the Spoofax Language Workbench.
    [Show full text]
  • Boolean Matrix in the Matrix Equation (19)
    General Disclaimer One or more of the Following Statements may affect this Document This document has been reproduced from the best copy furnished by the organizational source. It is being released in the interest of making available as much information as possible. This document may contain data, which exceeds the sheet parameters. It was furnished in this condition by the organizational source and is the best copy available. This document may contain tone-on-tone or color graphs, charts and/or pictures, which have been reproduced in black and white. This document is paginated as submitted by the original source. Portions of this document are not fully legible due to the historical nature of some of the material. However, it is the best reproduction available from the original submission. Produced by the NASA Center for Aerospace Information (CASI) C f I l 1 ^o } Technical Report 69-86 March 1969 Design Automation by the Computer Design Language by Yaohan Cho Professor fr N he computer time used was supported by the National Aeronautics and Space Administration under Grant NsO 398 to the Computer Science Center of the University of Maryland. /i Abstract A Computer Design Language (CDL) has been developed for facilitating design automation of digital computers. When the functional organizatl.on and sequential operation of a digital computer are conceived and specified by the CDL, this d CDL description is called a Macro design. The macro design is highly descriptive in computer elements. it describes precisely and concisely what the computer is expected to do functionally step by step.
    [Show full text]
  • A Static Analysis Framework for Security Properties in Mobile and Cryptographic Systems
    A Static Analysis Framework for Security Properties in Mobile and Cryptographic Systems Benyamin Y. Y. Aziz, M.Sc. School of Computing, Dublin City University A thesis presented in fulfillment of the requirements for the degree of Doctor of Philosophy Supervisor: Dr Geoff Hamilton September 2003 “Start by doing what’s necessary; then do what’s possible; and suddenly you are doing the impossible” St. Francis of Assisi To Yowell, Olivia and Clotilde Declaration I hereby certify that this material, which I now submit for assessment on the programme of study leading to the award of the degree of Doctor of Philosophy (Ph.D.) is entirely my own work and has not been taken from the work of others save and to the extent that such work has been cited and acknowledged within the text of my work. Signed: I.D. No.: Date: Acknowledgements I would like to thank all those people who were true sources of inspiration, knowledge, guidance and help to myself throughout the period of my doctoral research. In particular, I would like to thank my supervisor, Dr. Geoff Hamilton, without whom this work would not have seen the light. I would also like to thank Dr. David Gray, with whom I had many informative conversations, and my colleagues, Thomas Hack and Fr´ed´ericOehl, for their advice and guidance. Finally, I would like to mention that the work of this thesis was partially funded by project IMPROVE (Enterprise Ireland Strategic Grant ST/2000/94). Benyamin Aziz Abstract We introduce a static analysis framework for detecting instances of security breaches in infinite mobile and cryptographic systems specified using the languages of the π-calculus and its cryptographic extension, the spi calculus.
    [Show full text]
  • Niels Ivar Bech
    Niels Ivar Bech Born 1920 Lemvig, Denmark; died 1975; originator of Danish computer development. Niels Ivar Bech was one of Europe's most creative leaders in the field of electronic digital computers.1 He originated Danish computer development under the auspices of the Danish Academy of Technical Sciences and was first managing director of its subsidiary, Regnecentralen, which was Denmark's (and one of Europe's) first independent designer and builder of electronic computers. Bech was born in 1920 in Lemvig, a small town in the northwestern corner of Jutland, Denmark; his schooling ended with his graduation from Gentofte High School (Statsskole) in 1940. Because he had no further formal education, he was not held in as high esteem as he deserved by some less gifted people who had degrees or were university professors. During the war years, Bech was a teacher. When Denmark was occupied by the Nazis, he became a runner for the distribution of illegal underground newspapers, and on occasion served on the crews of the small boats that perilously smuggled Danish Jews across the Kattegat to Sweden. After the war, from 1949 to 1957, he worked as a calculator in the Actuarial Department of the Copenhagen Telephone Company (Kobenhavns Telefon Aktieselskab, KTA). The Danish Academy of Technical Sciences established a committee on electronic computing in 1947, and in 1952 the academy obtained free access to the complete design of the computer BESK (Binar Electronisk Sekevens Kalkylator) being built in Stockholm by the Swedish Mathematical Center (Matematikmaskinnamndens Arbetsgrupp). In 1953 the Danish academy founded a nonprofit computer subsidiary, Regnecentralen.
    [Show full text]
  • New Contracts
    whel"e wel"e tJ0U when the telejah0ne l"an~? Chances are you weren't anywhere-yet. For it was March 10, 1876 when Alexander Graham Bell made that first historic telephone call to Mr. Watson ... and another significant milestone in man's attempt to better himself and his environment had been passed. Now you and your family can enjoy, know better, and relive hundreds of rich and exciting days just like this when you enroll as a Founding Associate of THE NATIONAL HISTORICAL SOCIETY If you would relish the experience of being a spectator at the fascinating West-anywhere Americans can trace roots or great moments in America's past- from yesterday back; if you have left a mark for all time. would like unique tailor-made vacations to spots where America's Three-day seminars featuring presentations by some of the heritage is always just around the corner; if you would have a country's most outstanding historians ... and held at actual place for authentic, unbelievably priced antique reproductions; historical settings, providing both eye-and-ear witness to the and the opportunity to always renew your association with the way it actually happened. Society at the same low dues cost; take this opportunity now­ before the rolls close- to become a Founding Associate. You'll The opportunity to buy-at discounts up to 25%-the latest be pleased and proud, too, to frame and display the handsome and best in new books on history, without the usual commit­ Certificate, personally inscribed for you, as a permanent symbol ment of belonging to a book club.
    [Show full text]
  • Galois a Language for Proofs Using Galois Connections and Fork Algebras
    Galois A Language for Proofs Using Galois Connections and Fork Algebras Paulo F. Silva Joost Visser Jose´ N. Oliveira CCTC, University of Minho, Braga Software Improvement Group CCTC, University of Minho, Braga Portugal The Netherlands Portugal paufi[email protected] [email protected] [email protected] Abstract DSLs in associated tool support for theorem proving and proof Galois is a domain specific language supported by the Galculator assistance. This tool, called Galculator (= Galois connection + interactive proof-assistant prototype. Galculator uses an equational calculator) [Silva and Oliveira 2008a], takes Galois connections approach based on Galois connections with indirect equality as as primitives and exploits their algebraic properties in proofs. Basi- an additional inference rule. Galois allows for the specification of cally, a Galois connection is a pair of functions with “good” preser- different theories in a point-free style by using fork algebras, an vation properties which connect two domains. Often, problems in extension of relation algebras with expressive power of first-order one of the domains are easier to solve than problems in the other logic. The language offers sub-languages to derive proof rules from domain. Using a Galois connection it is possible to map a “hard” Galois connections, to express proof tactics, and to organize axioms problem to an equivalent but easier one in the other domain, to and theorems into modular definitions. find its solution, and then map it back to the result in the origi- In this paper, we describe how the algebraic theory underlying nal domain (this is known as “shunting”). Galois connections are the proof-method drives the design of the Galois language.
    [Show full text]
  • Security and Privacy Implications of Third-Party Access to Online Social Networks
    Die approbierte Originalversion dieser Dissertation ist in der Hauptbibliothek der Technischen Universität Wien aufgestellt und zugänglich. http://www.ub.tuwien.ac.at The approved original version of this thesis is available at the main library of the Vienna University of Technology. http://www.ub.tuwien.ac.at/eng Security and Privacy Implications of Third-Party Access to Online Social Networks PhD THESIS submitted in partial fulfillment of the requirements of Doctor of Technical Sciences within the Vienna PhD School of Informatics by Markus Huber, M.Sc. Registration Number 0306665 to the Faculty of Informatics at the Vienna University of Technology Advisor: Privatdoz. Dipl.-Ing. Mag.rer.soc.oec. Dr.techn. Edgar Weippl Second advisor: o.Univ.Prof. Dipl.Ing. Dr. A Min Tjoa External reviewers: Assoc. Prof. Dr. Engin Kirda. Northeastern University, USA. Prof. Dr. Stefan Katzenbeisser. Technische Universität Darmstadt, Germany. Wien, 27.08.2013 (Signature of Author) (Signature of Advisor) Technische Universität Wien A-1040 Wien Karlsplatz 13 Tel. +43-1-58801-0 www.tuwien.ac.at Declaration of Authorship Markus Huber, M.Sc. Burggasse 102/8, AT-1070 Vienna, Austria I hereby declare that I have written this Doctoral Thesis independently, that I have com- pletely specified the utilized sources and resources and that I have definitely marked all parts of the work - including tables, maps and figures - which belong to other works or to the internet, literally or extracted, by referencing the source as borrowed. (Vienna, 27/08/2013) (Signature of Author) i Acknowledgements I am grateful to my supervisor Edgar R. Weippl for his excellent mentoring over the course of my postgraduate studies and for giving me the freedom to pursue my own research ideas.
    [Show full text]
  • Report on the Algorithmic Language ALGOL 60
    Reprinted from the COMMUNICATIONS OF THE ASSOCIATION FOR COMPUTING MACHINERY Vol. 3, No.5, May 1960 Made in U.S.A. With tYPographical corrections as of June ~8, 1980 Report on the Algorithmic Language ALGOL 60 PETER NAUR (Editor) J. W. BACKUS C. KATZ H. RUTISHAUSER J. H. WEGSTEIN F.L.BAUER J. MCCARTHY K. SAMELSON A. VAN WIJNGAARDEN J. GREEN A. J. PERLIS B. VAUQUOIS M. WOODGER Dedicated to the Memory of WILLIAM TURANSKI INTRODUCTION Background Meanwhile, in the United States, anyone who wished to After the publication of a preliminary report on the suggest changes or corrections to ALGOL was requested to send his comments to the ACM Communications where algorithmic language ALGOL,!' 2 as prepared at a conference in Zurich in 1958, much interest in the ALGOL language they were published. These comments then became the developed. basis of consideration for changes in the ALGOL language. As a result of an informal meeting held at Mainz in Both the SHARE and USE organizations established November 1958, about forty interested persons from ALGOL working groups, and both organizations were several European countries held an ALGOL implementation represented on the ACM Committee on Programming conference in Copenhagen in February 1959. A "hardware Languages. The ACM Committee met in Washington in group" was formed for working cooperatively right down November 1959 and considered all comments on ALGOL to the level of the paper tape code. This conference also that had been sent to the ACM Communications. Also, led to the publication by Regnecentralen, Copenhagen, of seven representatives were selected to attend the January an ALGOL Bulletin, edited by Peter Naur, which served 1960 international conference.
    [Show full text]
  • A Programmer's Story. the Life of a Computer Pioneer
    A PROGRAMMER’S STORY The Life of a Computer Pioneer PER BRINCH HANSEN FOR CHARLES HAYDEN Copyright c 2004 by Per Brinch Hansen. All rights reserved. Per Brinch Hansen 5070 Pine Valley Drive, Fayetteville, NY 13066, USA CONTENTS Acknowledgments v 1 Learning to Read and Write 1938–57 1 Nobody ever writes two books – My parents – Hitler occupies Denmark – Talking in kindergarten – A visionary teacher – The class newspaper – “The topic” – An elite high school – Variety of teachers – Chemical experiments – Playing tennis with a champion – Listening to jazz – “Ulysses” and other novels. 2 Choosing a Career 1957–63 17 Advice from a professor – Technical University of Denmark – rsted’s inuence – Distant professors – Easter brew – Fired for being late – International exchange student – Masers and lasers – Radio talk — Graduation trip to Yugoslavia – An attractive tourist guide – Master of Science – Professional goals. 3 Learning from the Masters 1963–66 35 Regnecentralen – Algol 60 – Peter Naur and Jrn Jensen – Dask and Gier Algol – The mysterious Cobol 61 report – I join the compiler group – Playing roulette at Marienlyst resort – Jump- starting Siemens Cobol at Mogenstrup Inn – Negotiating salary – Compiler testing in Munich – Naur and Dijkstra smile in Stock- holm – The Cobol compiler is nished – Milena and I are married in Slovenia. 4 Young Man in a Hurr 1966–70 59 Naur’s vision of datalogy – Architect of the RC 4000 computer – Programming a real-time system – Working with Henning Isaks- son, Peter Kraft, and Charles Simonyi – Edsger Dijkstra’s inu- ence – Head of software development – Risking my future at Hotel Marina – The RC 4000 multiprogramming system – I meet Edsger Dijkstra, Niklaus Wirth, and Tony Hoare – The genius of Niels Ivar Bech.
    [Show full text]