Sichtgraphen: Ein Konzept Zur Gezielten Untersuchung Von Kontrollflussstrukturen

Total Page:16

File Type:pdf, Size:1020Kb

Sichtgraphen: Ein Konzept Zur Gezielten Untersuchung Von Kontrollflussstrukturen Sichtgraphen: Ein Konzept zur gezielten Untersuchung von Kontrollflussstrukturen Der technischen Fakultät der Universität Erlangen-Nürnberg zur Erlangung des Grades D O K T O R – I N G E N I E U R vorgelegt von Stefan Goßens Erlangen, 2004 Als Dissertation genehmigt von der Technischen Fakultät der Universität Erlangen-Nürnberg Tag der Einreichung: 14. Mai 2004 Tag der Promotion: 15. Juli 2004 Dekan: Prof. Dr. Albrecht Winnacker Berichterstatter: Prof. Dr. Dr. h.c. Mario Dal Cin Prof. Dr.-Ing. habil. Fevzi Belli Kurzfassung Die vorliegende Arbeit beschreibt ein Konzept zur Abstraktion von Kontrollflussstrukturen, die Sichtgraphen, und mögliche Anwendungen. Viele Aufgabenstellungen der Informatik, speziell im Validierungs– und Verifikationsbereich, basieren direkt oder indirekt auf der Analyse von Kontrollflüssen. Oft interessieren dabei beson- ders bestimmte Aktionen im Kontrollfluss des Systems – beispielsweise Ein– und Ausgaben. Diese Aktionsmengen definieren eine Sicht auf den Graphen. Die möglichen Abfolgen der Ak- tionen werden im vorgestellten Ansatz kompakt als Sichtgraph repräsentiert, der so eine gezielte Abstraktion des Kontrollflussgraphen darstellt. Es gibt viele denkbare Anwendungen für Sichtgraphen. Die Arbeit stellt neben den Grundla- gen exemplarisch zwei spezielle Sichten vor, die Verhaltenssicht und die Zuverlässigkeitssicht. Dies sind die Sichten bezüglich der Ein– und Ausgabeanweisungen bzw. der Anweisungen, die zur Realisierung expliziter Fehlertoleranz dienen. Die entsprechenden Sichtgraphen sind Verhaltensgraphen und Zuverlässigkeitsgraphen. Verhaltensgraphbasierte Metriken können zur Bewertung von Testfallmengen dienen. In der Arbeit wird eine solche Kenngrösse, die Verhaltensdiversität, vorgestellt. Ein Ansatz zur Mo- dellierung der Fehleraufdeckungsfähigkeiten von Programmen wird entwickelt und in einer experimentellen Untersuchung der Verhaltensdiversität benutzt. Anhand der Zuverlässigkeitssicht lässt sich die Fehlertoleranzarchitektur eines Systems prüfen. Die Arbeit betrachtet ein entsprechendes Verfahren. Zusätzlich wird ein an Sichtgraphen angelehntes Konzept zum Entwurf von Tests aus automa- tenbasierten Spezifikationen beschrieben. Abstract The thesis describes a concept for the abstraction of control flow graphs, view graphs, and some of its possible applications. Many computer science applications, especially in validation and verification, are directly or indirectly based on control flow analysis. Often, certain actions in the control flow are of special interest – e.g. input and output actions. These actions define a view of the graph. Their possible sequences are represented as view graphs in the presented approach, which are view–focused abstractions of the control flow graph. There are many imaginable applications for view graphs. The thesis introduces the basic con- cepts as well as two special views, behavioural view and reliability view. These are the views with respect to input and output statements resp. the statements that constitute explicit fault tolerance mechanisms. The corresponding view graphs are behavioural graphs and reliability graphs. Metrics based on behavioural graphs can serve as a basis of test case evaluations. This thesis in- troduces such a metric, behavioural diversity. An approach for modeling fault detection abilities of programs is developed and used in an experimental evaluation of the metric. Using reliability graphs, the fault tolerance architecture of a system can be examined and veri- fied. The thesis describes a corresponding approach. Additionally, a concept similar to the view–graph approach to generate test designs is presented. Dank Für Betreuung, gute Zusammenarbeit und Begutachtung danke ich Prof. Dr. Dr. h.c. Dal Cin. Bei Prof. Dr.–Ing. habil. Fevzi Belli bedanke ich mich für die Übernahme des Zweitgutachtens und die besonders freundliche Unterstützung. Neben den genannten haben auch andere Menschen durch fachliche Diskussion, konstruktive Kritik und/oder Ermutigung zur Entstehung der Arbeit beigetragen. Für diese oft nur kurzen, aber manchmal entscheidenden, Gespräche danke ich: Dipl.–Math. Martin Becker–Wennecker, Dr. Yunja Choi, Prof. Dr. Jürgen Ebert, Prof. Dr. Klaus Echtle, Prof. Dr.–Ing. Wolfram Glauert, Dipl.–Ing. Werner Haas, Dr.–Ing. Ulrich Heinkel, Prof. Dr.–Ing. Ulrich Herzog, Dr. Markus Jochim, Dr.–Ing. Roman König, Dr.–Ing. David Kreische, Dr. Raymond Paul, Prof. Dr. Francesca Saglietti, Dr.–Ing. Volkmar Sieh, Dr.–Ing. habil. Bernd Straube und Dr. Andreas Winter. Mein besonderer Dank gilt M.Sc. (mult.) Fangfang Wang für die umfassendste Unterstützung, die denkbar ist. Inhaltsverzeichnis 1 Einführung 1 1.1 Black-Box und White-Box-Perspektiven . 1 1.2 Umfang und Beitrag dieser Arbeit . 2 1.3 Kapitelübersicht . 3 2 Verhaltensgraphen und Sichtgraphen 5 2.1 Abstraktion von Verhaltensstrukturen . 7 2.1.1 Berechnung von Verhaltensgraphen . 8 2.1.2 Sichtgraphen . 10 3 Verhaltensgraphen und Testfallmengenbewertung 11 3.1 Strukturbasierte Kontrollflussmetriken . 12 3.2 Verhaltensdiversität . 14 3.3 Fehleraufdeckungsmodellierung . 15 3.3.1 Fehlerentstehung und Fehleraufdeckung . 16 3.3.2 Fehleraufdeckungshäufigkeiten und -wahrscheinlichkeiten . 19 3.4 Validierungsexperiment . 23 3.4.1 Das Werkzeug proggen . 23 3.4.2 Das Experiment . 28 3.4.3 Parameterauswahl . 34 3.4.4 Ergebnisse . 36 3.5 Diskussion . 40 4 Sichtgraphen und Architekturuntersuchung 47 4.1 Fehlertoleranzstrukturen . 47 4.2 Zuverlässigkeitssicht . 50 4.3 Pfade als Suchmuster . 51 4.4 Strukturanalyse mit mcana und SMV . 52 4.4.1 Das Werkzeug mcana . 53 4.4.2 Pfadsuche . 53 4.4.3 Fallbeispiel . 54 4.5 Diskussion . 61 5 Unterstützung beim Testentwurf 63 5.1 Rechnergestütztes Testen . 63 i Inhaltsverzeichnis 5.2 Generierung von Testentwürfen aus Spezifikationsautomaten . 64 5.2.1 ADeVA . 65 5.2.2 Generierung von Testentwürfen . 67 5.3 Testpfadgenerierung mit Guwen . 69 5.3.1 Umformung von ADeVA–Tabellen in SMV–Modelle . 69 5.3.2 CTL–Formeln und Pfadbestimmung . 72 5.3.3 Interpretation der SMV–Ergebnisse . 72 5.4 Diskussion . 74 6 Perspektiven 77 6.1 Sichtgraphen als Automaten: Sichttypen . 77 6.2 Numerische Analyse . 81 6.2.1 Zeitbehaftete Verhaltensgraphen . 81 6.2.2 Zuverlässigkeitsparameter . 81 6.3 Erweiterte Architekturuntersuchung . 82 6.4 Verwandte Techniken . 82 Literaturverzeichnis 85 Schriftenverzeichnis 90 A Programme der Voruntersuchung 93 B Listen der Sprungbefehle und E/A–Routinen 97 C SMV-Lauf 101 ii Abbildungsverzeichnis 2.1 Beispiel eines Kontrollflussgraphen . 6 2.2 Black-Box-Sicht eines Systems . 6 2.3 Verhaltensgrapherzeugung . 8 3.1 Strukturelemente in proggen-Kontrollflussgraphen . 24 3.2 Von proggen erzeugter Kontrollflussgraph . 26 3.3 Von proggen generiertes Pseudoprogramm . 27 3.4 Von proggen erzeugter Verhaltensgraph . 28 3.5 Von proggen erzeugter Pfad im Kontrollflussgraph und Verhaltensgraph . 29 3.6 Programmgrösse gegen E/A-Prozentanteile . 33 3.7 Programmgrösse gegen E/A-Prozentanteile (Ausschnitt) . 34 3.8 Programmgrösse gegen Verzweigungs-Prozentanteile . 35 3.9 Programmgrösse gegen Verzweigungs-Prozentanteile (Ausschnitt) . 35 ¢¡ min 3.10 f £ nach Verteilung nichtaufdeckende/aufdeckende Ausgabeanweisungen und Häufigkeitsobergrenzen (1) . 42 ¢¡ min 3.11 f £ nach Verteilung nichtaufdeckende/aufdeckende Ausgabeanweisungen und Häufigkeitsobergrenzen (2) . 43 min 3.12 Verzweigungsabdeckung/f £ nach Verteilung nichtaufdeckende/aufdeckende Ausgabeanweisungen und Häufigkeitsobergrenzen (3) . 44 min 3.13 Verzweigungsabdeckung/f £ nach Verteilung nichtaufdeckende/aufdeckende Ausgabeanweisungen und Häufigkeitsobergrenzen (4) . 45 4.1 Recovery Block–Modul . 49 4.2 MVP–Modul . 49 4.3 Gemischte Fehlertoleranzarchitektur . 50 4.4 Kontrollflüsse Recovery Block und Multiversion Programming . 51 4.5 Geschachtelte Zuverlässigkeitsmuster . 52 4.6 Untersuchtes Programm . 55 4.7 Kontrollflussgraph des untersuchten Programms . 56 4.8 Zuverlässigkeitsgraph . 58 4.9 SMV–Eingabe . 58 4.10 Entwurfsfehler (1) . 59 4.11 Zuverlässigkeitsgraph nach Änderung (1) . 59 4.12 Entwurfsfehler (2) . 60 4.13 Zuverlässigkeitsgraph nach Änderung (2) . 61 iii Abbildungsverzeichnis 5.1 Mode Transition Table für Signal current mode . 66 5.2 Data Transformation Table für Signal byteMON . 66 5.3 SMV–Modell für ADeVA–Tabelle aus Abbildung 5.1 . 71 5.4 Testentwürfe . 73 6.1 Erzeugung von Kontrollflussautomaten aus Kontrollflussgraphen . 79 6.2 Automat und Typ zum Verhaltensgraph aus Kapitel 2 . 79 iv Tabellenverzeichnis 3.1 Pakete der Vorstudie . 32 3.2 Ergebnisse nach Häufigkeitsobergrenzen . 36 3.3 Ergebnisse nach Anteil potenziell fehlerhafter E/A-Anweisungen (1) . 38 3.4 Ergebnisse nach Anteil potenziell fehlerhafter E/A-Anweisungen (2) . 39 v Tabellenverzeichnis vi 1 Einführung Der Verhaltensbegriff wird zum Beginn des 20. Jahrhunderts durch den Behaviorismus wis- senschaftlich konkretisiert. Dessen Gegenstand ist die Analyse des manifesten, beobachtbaren (menschlichen) Verhaltens, basierend auf Reiz-Reaktions-Schemata. Im Rahmen dieser Inter- pretation des Verhaltensbegriffs werden die Termini Stimulus-Response-Modell (S-R-Modell) und Black-Box-Modell geprägt. In späteren Entwicklungen konkretisieren sich die Begriffe „Sti- mulus“ und „Response“ auf physiologische (und damit letztlich physikalische) Begrifflichkei- ten, was sich auch terminologisch im neueren Begriff Rezeptor-Effektor-System niederschlägt.1 Betrachtung und Bewertung von Ingenieurskonstruktionen basieren üblicherweise auf diesem Modell. Dessen Übernahme in die Ingenieurwissenschaften und speziell die Elektrotechnik lässt sich mindestens bis in die vierziger
Recommended publications
  • Performance Assessment and Translation of Physiologically
    TOXICOLOGICAL SCIENCES, 158(1), 2017, 23–35 doi: 10.1093/toxsci/kfx070 Advance Access Publication Date: April 8, 2017 Forum FORUM Performance Assessment and Translation of Physiologically Based Pharmacokinetic Models From acslX to Berkeley Madonna, MATLAB, and R Language: Oxytetracycline and Gold Nanoparticles As Case Examples Zhoumeng Lin,*,1 Majid Jaberi-Douraki,*,† Chunla He,‡ Shiqiang Jin,*,§ Raymond S. H. Yang,¶,k Jeffrey W. Fisher,kj and Jim E. Riviere* *Institute of Computational Comparative Medicine (ICCM), Department of Anatomy and Physiology, College of Veterinary Medicine, Kansas State University, Manhattan, Kansas 66506; †Department of Mathematics, College of Arts and Sciences, Kansas State University, Manhattan, Kansas 66506; ‡Department of Epidemiology and Biostatistics, College of Public Health, The University of Georgia, Athens, Georgia 30602; §Department of Statistics, College of Arts and Sciences, Kansas State University, Manhattan, Kansas 66506; ¶Department of Environmental and Radiological Health Sciences, College of Veterinary Medicine and Biomedical Sciences, Colorado State University, Fort Collins, Colorado 80523; kRay Yang Consulting LLC, Fort Collins, Colorado 80526; and kjDivision of Biochemical Toxicology, National Center for Toxicological Research, U.S. Food and Drug Administration, Jefferson, Arkansas 72079 1To whom correspondence should be addressed at Institute of Computational Comparative Medicine (ICCM), Department of Anatomy and Physiology, College of Veterinary Medicine, Kansas State University, 1800 Denison Avenue, P200 Mosier Hall, Manhattan, KS 66506. Fax: (785) 532-4953. E-mail: [email protected]. ABSTRACT Many physiologically based pharmacokinetic (PBPK) models for environmental chemicals, drugs, and nanomaterials have been developed to aid risk and safety assessments using acslX. However, acslX has been rendered sunset since November 2015. Alternative modeling tools and tutorials are needed for future PBPK applications.
    [Show full text]
  • A High-Performance Serial/Parallel Monte Carlo Simulation Library for C, C++, Fortran
    ParaMonte: A high-performance serial/parallel Monte Carlo simulation library for C, C++, Fortran Amir Shahmoradi1, 2 and Fatemeh Bagheri1 DOI: 1 Department of Physics, The University of Texas, Arlington, TX 2 Data Science Program, The University of Texas, Arlington, TX Software • Review Summary • Repository • Archive ParaMonte (standing for Parallel Monte Carlo) is a serial and MPI/Coarray-parallelized library of Monte Carlo routines for sampling mathematical objective functions of arbitrary-dimensions, in Editor: particular, the posterior distributions of Bayesian models in data science, Machine Learning, and scientific inference. The ParaMonte library has been developed with the design goal of unifying Submitted: 29 September 2020 the automation, accessibility, high-performance, scalability, and reproducibility of Monte Published: Carlo simulations. The current implementation of the library includes ParaDRAM, a Parallel License Delyaed-Rejection Adaptive Metropolis Markov Chain Monte Carlo sampler, accessible from a Authors of papers retain wide range of programming languages including C, C++, Fortran, with a unified Application copyright and release the work Programming Interface and simulation environment across all supported programming languages. under a Creative Commons The ParaMonte library is MIT-licensed and is permanently located and maintained at https: Attribution 4.0 International //github.com/cdslaborg/paramonte. License (CC BY 4.0). Statement of need Monte Carlo simulation techniques, in particular, the Markov Chain Monte Carlo (MCMC) are among the most popular methods of quantifying uncertainty in scientific inference problems. Extensive work has been done over the past decades to develop Monte Carlo simulation programming environments that aim to partially or fully automate the problem of uncertainty quantification via Markov Chain Monte Carlo simulations.
    [Show full text]
  • Latexsample-Thesis
    INTEGRAL ESTIMATION IN QUANTUM PHYSICS by Jane Doe A dissertation submitted to the faculty of The University of Utah in partial fulfillment of the requirements for the degree of Doctor of Philosophy Department of Mathematics The University of Utah May 2016 Copyright c Jane Doe 2016 All Rights Reserved The University of Utah Graduate School STATEMENT OF DISSERTATION APPROVAL The dissertation of Jane Doe has been approved by the following supervisory committee members: Cornelius L´anczos , Chair(s) 17 Feb 2016 Date Approved Hans Bethe , Member 17 Feb 2016 Date Approved Niels Bohr , Member 17 Feb 2016 Date Approved Max Born , Member 17 Feb 2016 Date Approved Paul A. M. Dirac , Member 17 Feb 2016 Date Approved by Petrus Marcus Aurelius Featherstone-Hough , Chair/Dean of the Department/College/School of Mathematics and by Alice B. Toklas , Dean of The Graduate School. ABSTRACT Blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah. Blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah. Blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah. Blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah. Blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah. Blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah. Blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah. Blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah.
    [Show full text]
  • Integral Estimation in Quantum Physics
    INTEGRAL ESTIMATION IN QUANTUM PHYSICS by Jane Doe A dissertation submitted to the faculty of The University of Utah in partial fulfillment of the requirements for the degree of Doctor of Philosophy in Mathematical Physics Department of Mathematics The University of Utah May 2016 Copyright c Jane Doe 2016 All Rights Reserved The University of Utah Graduate School STATEMENT OF DISSERTATION APPROVAL The dissertation of Jane Doe has been approved by the following supervisory committee members: Cornelius L´anczos , Chair(s) 17 Feb 2016 Date Approved Hans Bethe , Member 17 Feb 2016 Date Approved Niels Bohr , Member 17 Feb 2016 Date Approved Max Born , Member 17 Feb 2016 Date Approved Paul A. M. Dirac , Member 17 Feb 2016 Date Approved by Petrus Marcus Aurelius Featherstone-Hough , Chair/Dean of the Department/College/School of Mathematics and by Alice B. Toklas , Dean of The Graduate School. ABSTRACT Blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah. Blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah. Blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah. Blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah. Blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah. Blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah. Blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah. Blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah.
    [Show full text]
  • Econometrics with Octave
    Econometrics with Octave Dirk Eddelb¨uttel∗ Bank of Montreal, Toronto, Canada. [email protected] November 1999 Summary GNU Octave is an open-source implementation of a (mostly Matlab compatible) high-level language for numerical computations. This review briefly introduces Octave, discusses applications of Octave in an econometric context, and illustrates how to extend Octave with user-supplied C++ code. Several examples are provided. 1 Introduction Econometricians sweat linear algebra. Be it for linear or non-linear problems of estimation or infer- ence, matrix algebra is a natural way of expressing these problems on paper. However, when it comes to writing computer programs to either implement tried and tested econometric procedures, or to research and prototype new routines, programming languages such as C or Fortran are more of a bur- den than an aid. Having to enhance the language by supplying functions for even the most primitive operations adds extra programming effort, introduces new points of failure, and moves the level of abstraction further away from the elegant mathematical expressions. As Eddelb¨uttel(1996) argues, object-oriented programming provides `a step up' from Fortran or C by enabling the programmer to seamlessly add new data types such as matrices, along with operations on these new data types, to the language. But with Moore's Law still being validated by ever and ever faster processors, and, hence, ever increasing computational power, the prime reason for using compiled code, i.e. speed, becomes less relevant. Hence the growing popularity of interpreted programming languages, both, in general, as witnessed by the surge in popularity of the general-purpose programming languages Perl and Python and, in particular, for numerical applications with strong emphasis on matrix calculus where languages such as Gauss, Matlab, Ox, R and Splus, which were reviewed by Cribari-Neto and Jensen (1997), Cribari-Neto (1997) and Cribari-Neto and Zarkos (1999), have become popular.
    [Show full text]
  • Numerical Analysis, Modelling and Simulation
    Numerical Analysis, Modelling and Simulation Griffin Cook Numerical Analysis, Modelling and Simulation Numerical Analysis, Modelling and Simulation Edited by Griffin Cook Numerical Analysis, Modelling and Simulation Edited by Griffin Cook ISBN: 978-1-9789-1530-5 © 2018 Library Press Published by Library Press, 5 Penn Plaza, 19th Floor, New York, NY 10001, USA Cataloging-in-Publication Data Numerical analysis, modelling and simulation / edited by Griffin Cook. p. cm. Includes bibliographical references and index. ISBN 978-1-9789-1530-5 1. Numerical analysis. 2. Mathematical models. 3. Simulation methods. I. Cook, Griffin. QA297 .N86 2018 518--dc23 This book contains information obtained from authentic and highly regarded sources. All chapters are published with permission under the Creative Commons Attribution Share Alike License or equivalent. A wide variety of references are listed. Permissions and sources are indicated; for detailed attributions, please refer to the permissions page. Reasonable efforts have been made to publish reliable data and information, but the authors, editors and publisher cannot assume any responsibility for the validity of all materials or the consequences of their use. Copyright of this ebook is with Library Press, rights acquired from the original print publisher, Larsen and Keller Education. Trademark Notice: All trademarks used herein are the property of their respective owners. The use of any trademark in this text does not vest in the author or publisher any trademark ownership rights in such trademarks, nor does the use of such trademarks imply any affiliation with or endorsement of this book by such owners. The publisher’s policy is to use permanent paper from mills that operate a sustainable forestry policy.
    [Show full text]
  • Econometrics with Octave
    Econometrics with Octave Dirk Eddelb¨uttel∗ Bank of Montreal, Toronto, Canada. [email protected] November 1999 Summary GNU Octave is an open-source implementation of a (mostly Matlab compatible) high-level language for numerical computations. This review briefly introduces Octave, discusses applications of Octave in an econometric context, and illustrates how to extend Octave with user-supplied C++ code. Several examples are provided. 1 Introduction Econometricians sweat linear algebra. Be it for linear or non-linear problems of estimation or inference, matrix algebra is a natural way of expressing these problems on paper. However, when it comes to writing computer programs to either implement tried and tested econometric procedures, or to research and prototype new routines, programming languages such as C or Fortran are more of a burden than an aid. Having to enhance the language by supplying functions for even the most primitive operations such as transposing a matrix adds extra programming effort, introduces new points of failure, and moves the level of abstraction further away from the elegant mathematical expressions. As Eddelb¨uttel(1996) argues, object-oriented programming provides `a step up' from Fortran or C by enabling the programmer to seamlessly add new data types such as matrices, along with operations on these new data types, to the language. But with Moore's Law still being validated by ever and ever faster processors, and, hence, ever increasing computational power, the prime reason for using compiled code, i.e. speed, becomes less relevant. Hence the growing popularity of interpreted programming languages, both, in general, as witnessed by the surge in popularity of the general- purpose programming languages Perl and Python and, in particular, for numerical applications with strong emphasis on matrix calculus where languages such as Gauss, Matlab, Ox, R, Splus, which were reviewed by Cribari-Neto and Jensen (1997), Cribari-Neto (1997) and Cribari-Neto and Zarkos (1999), have become popular.
    [Show full text]
  • Unix Et Programmation Shell
    Unix et Programmation Shell Philippe Langevin d´epartment d'informatique UFR sciences et technique universit´edu sud Toulon Var Automne 2013 Philippe Langevin (imath/ustv) Unix et Programmation Shell Automne 2013 1 / 33 document brouillon en r´evision site du cours : http://langevin.univ-tln.fr/cours/UPS/upsh.html localisation du fichier : http://langevin.univ-tln.fr/cours/UPS/doc/intro.pdf Philippe Langevin (imath/ustv) Unix et Programmation Shell Automne 2013 2 / 33 derni`eresmodifications intro.tex 2013-06-23 10:07:23.697660496 +0200 macros.tex 2013-06-22 23:42:16.868263946 +0200 prologue.tex 2013-06-22 22:10:45.967471216 +0200 upsh.tex 2013-06-22 11:24:27.941744751 +0200 tools.tex 2013-06-22 11:24:27.940741957 +0200 term.tex 2013-06-22 11:24:27.934741399 +0200 syntaxe.tex 2013-06-22 11:24:27.931741678 +0200 proc.tex 2013-06-22 11:24:27.927741678 +0200 piped.tex 2013-06-22 11:24:27.922741399 +0200 perm.tex 2013-06-22 11:24:27.921741678 +0200 part.tex 2013-06-22 11:24:27.918742237 +0200 man.tex 2013-06-22 11:24:27.911741957 +0200 langage.tex 2013-06-23 10:04:58.364659987 +0200 file.tex 2013-06-22 11:24:27.896741119 +0200 dup.tex 2013-06-22 11:24:27.885741678 +0200 fic.tex 2013-06-22 11:24:27.885741678 +0200 bash.tex 2013-06-22 11:24:27.881741957 +0200 Philippe Langevin (imath/ustv) Unix et Programmation Shell Automne 2013 3 / 33 shell unix 1 - shell unix origine unices GNU/linux distribution shell unix GUI vs CLI exemple Philippe Langevin (imath/ustv) Unix et Programmation Shell Automne 2013 4 / 33 1969 Ken Thompson cr´eele syst`eme UNICS 1971 Dennis Ritchie cr´ee Le langage C utile pour le d´eveloppement d'unix.
    [Show full text]
  • Similarity in Binary Executables
    Similarity in Binary Executables Yaniv David Technion - Computer Science Department - Ph.D. Thesis PHD-2020-04 - 2020 Technion - Computer Science Department - Ph.D. Thesis PHD-2020-04 - 2020 Similarity in Binary Executables Research Thesis Submitted in partial fulfillment of the requirements for the degree of Doctor of Philosophy Yaniv David Submitted to the Senate of the Technion — Israel Institute of Technology Hadar 5780 Haifa March 2020 Technion - Computer Science Department - Ph.D. Thesis PHD-2020-04 - 2020 Technion - Computer Science Department - Ph.D. Thesis PHD-2020-04 - 2020 This research was carried out under the supervision of Prof. Eran Yahav, in the Faculty of Computer Science. Some results in this thesis have been published as articles by the author and research collaborators in conferences and journals during the course of the author’s doctoral research period, the most up-to-date versions of which being: Yaniv David, Nimrod Partush, and Eran Yahav. Statistical similarity of binaries. In Proceedings of the 37th ACM SIGPLAN Conference on Programming Language Design and Implementation, PLDI ’16, pages 266–280, New York, NY, USA, 2016. ACM. Yaniv David, Nimrod Partush, and Eran Yahav. Similarity of binaries through re-optimization. In Pro- ceedings of the 38th ACM SIGPLAN Conference on Programming Language Design and Implementation, PLDI 2017, pages 79–94, New York, NY, USA, 2017. ACM. Yaniv David, Nimrod Partush, and Eran Yahav. Firmup: Precise static detection of common vulnerabilities in firmware. In Proceedings of the Twenty-Third International Conference on Architectural Support for Programming Languages and Operating Systems, ASPLOS ’18, pages 392–404, New York, NY, USA, 2018.
    [Show full text]
  • Computadoras Electronicas
    COMPUTADORAS ELECTRONICAS Prólogo En la unidad 0 se hace una introducción, definiendo algunos conceptos previos. En la unidad 1 se muestran las diversas tecnologías en las que se fueron construyendo las computadoras. Luego se hace una breve revisión de los principios de circuitos digitales secuenciales y combinacionales, para comprender luego el Hardware principal de la computadora, como ser la Unidad Lógico Aritmética y la Unidad De Memoria. También se exponen las principales tecnologías de semiconductor con las que son construidas las computadoras actuales. Y se hace una descripción funcional de todas y cada una de las partes elementales de la computadora. Finalmente se describen los dos tipos básicos de arquitectura de computadoras ejemplificando cada uno. En la unidad 2 se hace un repaso de sistemas posicionales de numeración haciendo especial énfasis en el hexadecimal y binario. Además se desarrollan los diferentes códigos binarios con los que la maquina almacena y procesa la diversa información digital. En la unidad 3 se hace una integración de las unidades anteriores en la programación de un microcontrolador específico. Haciendo uso de un entorno de desarrollo integrado para tal fin. Utilizando el lenguaje Ensamblador ya que al ser de bajo nivel se puede tener una compresión mas profunda de lo que ocurre a nivel Hardware y poder relacionarlo con el Software. En la unidad 4 finalmente se expone el lenguaje C, luego de haber pasado por el Ensamblador se busca un mayor nivel de abstracción para poder resolver problemas de mayor complejidad. Este material se realizó con fines didácticos y se encuentra en proceso de desarrollo.
    [Show full text]
  • Diversity in the GNU Project As Measured by Mailing List Activity
    Just us boys : diversity in the GNU project as measured by mailing list activity. Camille Akmut October 4, 2019 Abstract Structure and patterns of a male-dominated culture. Statistics mea- sured over a period of one year (leading up to, including September 2019). 1 1 Introduction : GNU is not... In the following we measure diversity in the GNU project by using mailing list activity, as proxy1. Specifically, we chose info-gnu, where announcements relating to the GNU project are posted. All the major figures (e.g. Richard Stallman, Werner Koch, Alexandre Oliva...) of this free software project { arguably the most important of all { make regular appearances here and release information regarding their respective areas, or software. These encompass the well-known ones : GNU itself, GPG, Linux-Libre, GCC, GDB, coreutils, etc. | GNU is not for women { such would be the conclusion of anyone going through our statistics. And, if the mostly passive attitudes adopted so far have led to such results, surely they can no longer be considered enough. | At the turn of the last century, men formed peculiar circles, still, in and around universities. The more prestigious these places, the longer it took them to admit women inside their walls { and longer still to admit them as equals.2 In the novels of Waugh and Forster, where the old, male-exclusive university system still exists, undisturbed by the advances of times, the absence of women goes largely unnoticed : unproblematic. "This is just how things are", "They've always been this way" { so went their inner lives. Lise Meitner (who ended up finding a place within academia) or Emmy Noether had no place in these novels, no more than they had in the times they depict..
    [Show full text]
  • Python 101 Documentation Release 0.5
    Python 101 Documentation Release 0.5 Centrum Edukacji Obywatelskiej Sep 08, 2017 Contents 1 Pytania do tych materiałów 3 2 Pobieranie tej dokumentacji 5 3 Przygotowanie do szkolenia 7 i ii Python 101 Documentation, Release 0.5 Niniejsze materiały to dokumentacja do szkolenia z j˛ezykaPython realizowanego w ramach projektu Koduj z Klas ˛a prowadzonego przez Fundacj˛e Centrum Edukacji Obywatelskiej. Krótki link do tej strony: bit.ly/py-101 Contents 1 Python 101 Documentation, Release 0.5 2 Contents CHAPTER 1 Pytania do tych materiałów Zach˛ecamydo dyskusji i zadawania pytan´ na naszym forum 3 Python 101 Documentation, Release 0.5 4 Chapter 1. Pytania do tych materiałów CHAPTER 2 Pobieranie tej dokumentacji Materiały mozna˙ pobrac´ do czytania w wersji offline. Za pomoc ˛aponizszych˙ polecen´ pobierzemy dokumentacj˛ei rozpakujemy do folderu ~/Pulpit/python-101-html: ~$ wget -O python-101-html.zip http://koduj-z-klasa.github.io/python101/python-101- ,!html.zip ~$ unzip python-101-html.zip -d ~/Pulpit/ Materiały mozna˙ takze˙ pobrac,´ zmodyfikowac´ i przygotowac´ według instrukcji w repozytorium 5 Python 101 Documentation, Release 0.5 6 Chapter 2. Pobieranie tej dokumentacji CHAPTER 3 Przygotowanie do szkolenia Przed szkoleniem warto przygotowac´ swój komputer. System i oprogramowanie Nasze materiały zakładaj ˛awykorzystanie systemu Linux i j˛ezyka Python w wersji 2.7.x, który jest cz˛esci´ ˛awszystkich desktopowych dystrybucji. Oprócz interpretera j˛ezykapotrzebne s ˛abiblioteki wykorzystywane w bardziej zaawan- sowanych przykładach, takich jak gry, aplikacje internetowe czy obsługa baz danych za pomoc ˛asystemów ORM. Przygotowalismy´ równiez˙ specjaln ˛awersj˛esystemu Linux Live o nazwie LxPup KzkBox przeznaczon ˛ado instalacji na kluczu USB.
    [Show full text]