Automating Modular Program Verification by Refining

Total Page:16

File Type:pdf, Size:1020Kb

Automating Modular Program Verification by Refining Automating Modular Program Verification by Refining Specifications by Mana Taghdiri Submitted to the Department of Electrical Engineering and Computer Science in partial fulfillment of the requirements for the degree of Doctor of Philosophy at the MASSACHUSETTS INSTITUTE OF TECHNOLOGY February 2008 @ Massachusetts Institute of Technology 2008. All rights reserved. A uthor ......................... Department of Electrical Engineering and Computer Science December 2007 Certified by .................. ,-D--i-TN.Jackson Professor of Electrical Engineering and Computer Science Thesis Supervisor Accepted by......... Terry P. Orlando Chairman, Department Committee on Graduate Students MASSACHUSELTS INSTITUTE OF TEGHNOLOGY APR 0 7 2008 ARCHIVES LIBRARIES Automating Modular Program Verification by Refining Specifications by Mana Taghdiri Submitted to the Department of Electrical Engineering and Computer Science on December 2007, in partial fulfillment of the requirements for the degree of Doctor of Philosophy Abstract Modular analyses of software systems rely on the specifications of the analyzed mod- ules. In many analysis techniques (e.g. ESC/Java), the specifications have to be provided by users. This puts a considerable burden on users and thus limits the applicability of such techniques. To avoid this problem, some modular analysis tech- niques automatically extract module summaries that capture specific aspects of the modules' behaviors. However, such summaries are only useful in checking a restricted class of properties. We describe a static modular analysis that automatically extracts procedure spec- ifications in order to check heap-manipulating programs against rich data structure properties. Extracted specifications are context-dependent; their precision depends on both the property being checked, and the calling context in which they are used. Starting from a rough over-approximation of the behavior of each call site, our anal- ysis computes an abstraction of the procedure being analyzed and checks it against the property. Specifications are further refined, as needed, in response to spurious counterexamples. The analysis terminates when either the property has been vali- dated (with respect to a finite domain), or a non-spurious counterexample has been found. Furthermore, we describe a lightweight static technique to extract specifications of heap-manipulating procedures. These specifications neither are context-dependent, nor require any domain finitizations. They summarize the general behavior of proce- dures in terms of their effect on program state. They bound the values of all variables and fields in the post-state of the procedure by relational expressions in terms of their values in the pre-state. The analysis maintains both upper and lower bounds so that in some cases an exact result can be obtained. Thesis Supervisor: Daniel N. Jackson Title: Professor of Electrical Engineering and Computer Science Acknowledgments I would like to thank my advisor Professor Daniel Jackson not only for his invaluable technical guidance on this project over the past few years, but also for his patience, encouragement, and enthusiasm that made the task of preparing talks and papers enjoyable. I also thank my thesis committee members Professor Martin Rinard and Professor Srini Devadas for their helpful comments. I thank my friends at MIT, Emina Torlak, Robert Seater, Gregory Dennis, Felix Chang, Jonathan Edwards, Derek Rayside, Sarfraz Khurshid, Ilya Shlyakhter, Manu Sridharan, Tina Nolte, Viktor Kuncak, Alexandru Salcianu, and Mandana Vaziri, who made my graduate studies a wonderful academic and social experience. I spe- cially thank Emina Torlak for her insights on the Alloy modeling language, and her implementation of Kodkod, the most efficient Alloy model finder currently available. I thank Gregory Dennis for many useful discussions about checking Java code, and for providing me with his tool Forge. I thank Mandana Vaziri for providing me with Jalloy, a Java bug finder that made it possible for me to evaluate my ideas at the very early stages. I thank Robert Seater, Viktor Kuncak, and Alexandru Salcianu for their valuable comments on my procedure summarization technique. But above all, I would like to thank my family: my parents Afsaneh and Hossein, and my sisters Shiva and Sara, who always encouraged me to learn and supported me with love throughout my life, and my husband Mehdi, for all his love, patience, encouragement, and support without which this thesis would have never been possible. This thesis is dedicated to my family. Contents 1 Introduction 17 1.1 Problem Description ......... ..... ... 18 1.1.1 Automating Modular Program Verification . 1.1.2 Existing Approaches ... .... .. .... 1.2 Proposed Solution .................. 1.2.1 Specification Refinement ........... 1.2.2 Instantiation: Karun . ............ 1.2.3 Limitations ... ................ 1.3 Exam ple .................... 1.3.1 User Experience . ............... 1.3.2 Underlying Analysis . ............ 1.4 Evaluation ..................... 1.5 Contributions . .................... 1.6 Thesis Organization .................. 2 Method 2.1 Overview .......... 2.2 Definitions ......... 2.3 Input Functions ...... 2.4 Computed Functions . 2.5 Input Functions Properties 2.6 Algorithm ......... 2.7 Properties ......... 2.7.1 Termination ............ 7 5 2.7.2 Completeness ............ 7 6 2.7.3 Soundness ............................. 3 Context 3.1 Programming Language: Java ...• • • • •... ..... • • •.. • 3.2 Specification Language: Alloy . ....................• 3.2.1 Declarations ...... 3.2.2 Expressions ...... 3.2.3 Formulas ........ 3.2.4 Auxiliary Constraints . 3.2.5 Examples ....... 3.3 Bounds .............. 4 Extracting Initial Specifications 89 4.1 Overview ............ .. 89 4.2 Logic............... .. 92 4.3 Examples . .......... 94 4.4 Abstraction Technique . ... 99 4.4.1 Definitions........ 99 4.4.2 Transfer Function . .. ..........• . .. 103 4.4.3 Simplifications ..... 110 4.5 Properties . .......... 112 4.5.1 Safety .......... 112 4.5.2 Termination ...... 123 4.5.3 Complexity ...... S. ... ... ... ... 123 4.6 Optimization ......... ... .... ... .. 125 5 Checking Abstract Programs: Forge 127 5.1 Overview ............... ........... 127 5.2 Translating Java to Alloy . 129 5.2.1 Encoding Basic Statements ....... ... ... 130 5.2.2 Encoding Call Site Specifications . ... ... ... 133 5.2.3 Example .................. ....... 138 5.3 Generating Relation Bounds ......... .. ...... 141 5.4 Solving Alloy Formulas: Kodkod ....... .. ... ... 142 6 Refining Specifications 145 6.1 Validity Checking of Counterexamples ..... 145 6.1.1 Interpretation of a Counterexample . .. 146 6.1.2 Checking Call Sites . ........... 151 6.2 Specification Refinement . .......... .. 154 6.2.1 Generating Small Unsatisfiability Proofs 155 6.2.2 Example ............. .... 158 7 Experiments 161 7.1 Overview. ............ ......... ............ 16 1 7.2 Case Studies ........... .. ....... ...... ...... 163 7.2.1 Quartz API ....... ............. ....... 167 7.2.2 OpenJGraph API .... ............. ....... 172 7.2.3 Discussions ....... ...... ....... ...... .. 173 7.3 Evaluating Performance .... ................... .. 174 7.4 Evaluating Initial Summaries ...... ....... ...... .. 176 7.4.1 Accuracy ........ ..... ............. ... 177 7.4.2 Effectiveness ....... .... .... .... .... ..... 18 1 8 Conclusion 185 8.1 Summary ............ .. ... 185 8.2 Related Work .......... ..... 187 8.2.1 Underlying Ideas . .. ..... 187 8.2.2 Overall Goal ....... .... 193 8.3 Discussion ............ ..... 200 8.3.1 Merits . .............. .......... .. .. .... 200 8.3.2 Limitations . ......... ......... .. .. .... 202 8.3.3 Future Directions ............................ .... 203 List of Figures 1-1 Exam ple. .. ................... 30 1-2 Properties: (a) the resulting order of nodes is a permutation of the original nodes of the graph, (b) the in-degree of each node is smaller than the number of nodes preceding it in the topological sort, (c) the representation invariants .......................... 32 1-3 Counterexample: (a) textual description, (b) pre-state heap, (c) corre- sponding graph ............................... 34 1-4 Program execution corresponding to the counterexample. Executed statements are given in bold. Called methods are expanded below call sites. Program states before and after the execution, and the state updates after each executed statement are also given. ........... 35 1-5 Initial specifications. ........................... 37 1-6 Final specification for fixIns. ............. ..... ... 38 2-1 An overview of the framework. ....... ........... ... 46 2-2 Abstract syntax for the analyzed language. ................. 47 2-3 Example: an xor operation. ....................... 48 2-4 Example: (a) an initial program state, (b) the corresponding trace: each line gives an executed statement and the state before the execution of that statement ................................ 49 2-5 Relationship between different domains. .................. 52 2-6 Translation example: (a) initial variable and value mappings, (b) the transformed xorAll method, (c) Variable mappings after translating each statement, and (d) the translation of statements to a boolean form ula . ...... ... .......... ........... .... 54 2-7 Examples of initial specification: (a) the xor method and its pre-state mappings, (b) first specification and the post-state variable mapping, (c) second specification and the post-state variable mapping ....
Recommended publications
  • Patterns of Recollection
    Patterns of Recollection 1 2 Patterns of Recollection The Documentary Meets Digital Media Åke Walldius 3 ©Åke Walldius 2001 Aura Förlag, Stockholm Layout: Björn Thuresson, Åke Walldius Cover: Eva-Marie Wadman Cover illustrations: A collage of images by Charles-Joseph Minard, Étienne-Jules Marey, Humphrey Jennings, Glorianna Davenport & Cheryl Morse, Dick Idestam-Almquist, Christopher Alexander, Eva-Marie Wadman. See List of Figures for details. Spine image: Börje Walldius, Ola Svensson, and Åke Walldius, “Repeatability of a Computerized Method For Clinical Assessment of Sagittal Back Shape and Mobil- ity”, first presented at the Swedish Medical Association Annual Meeting, 1988. Printed in Sweden by Norstedts Tryckeri AB, Stockholm ISBN 91-628-5049-0 CID-142 4 Contents Acknowledgments 8 Introduction 9 Part 1: Conceptual Framework 15 User Orientation 16 User orientation as a basis for non-fiction film studies 16 Digital technologies that support instrumental user interaction 21 Contextual visualisation that support user navigation 25 Themes of exploration in documentaries on history 30 The principle of noncontradiction in media analysis 39 Patterns of Design in Built and Mediated Environments 42 Patterns as a means for conceptualisation 42 The language of design patterns 46 Design patterns in mediated reality 48 Genre as Embodiment of Design Patterns 52 A HCI perspective on the characteristics of genre 52 A Cinema studies perspective on the evolution of genres 55 Genre as manifestation of rhetorical and narrational patterns 58 Modes of representation
    [Show full text]
  • Learning Computer Science Was Hard. Unlearning Computer Science Is Harder
    Learning computer science was hard. Unlearning computer science is harder. Horațiu Halmaghi Department of Integrated Studies in Education McGill University, Montreal December 2019 A thesis submitted to McGill University in partial fulfillment of the requirements ofthe degree of Masters of Arts © Horațiu Halmaghi 2019 Abstract In order to succeed in a computer science (CS) education, CS students must learn how to translate reality into code, algorithms and other computational knowledges and practices. Samantha Breslin refers to these processes and practices as “rendering technical,”a term which also encompasses how computational processess and practices shape reality in material and conceptual ways. Technical renderings create computational ‘worlds’ that enable computer scientists and CS students to frame their world in terms of problems and solutions that are computationally solvable. However, this is possible only by reducing or omitting the social, cultural, political, economic and historical aspects of reality. And once CS students learn how to render technical it becomes very difficult to think in ways that honour the full complexity of reality. This thesis is an autoethnography of some of my experiences in learning to think around the boundaries constructed by processes of rendering technical. My narrative revolves around a workshop/political intervention I organized and facilitated with/for friends and colleagues in tech to begin a conversation about the social and political challenges facing us as technol- ogists. The workshop was a step in my journey from an uncritical CS student, to acomputer programmer and computer programming educator becoming increasingly skeptical of Sili- con Valley dogma, to a graduate student wishing to commit and contribute to the difficult and non-innocent work of undoing the social hierarchies and the interlocking oppressions produced by the relations of settler colonialism.
    [Show full text]
  • ED305894.Pdf
    ' CUMENT RESUME ED 305 894 IR 013 747 AUTHOR Barrett, John, Ed.; Hedberg, John, Ed. TITLE Using Computers Intelligently in Tertiary Education. A Collection of Papers Presented to the Australian Society for Computers in Learning (Sydney, New South Wales, Australia, November 29-December 3, 1987). INSTITUTION Australian Society for Computers in Learning. REPORT NO ISBN-0-949088-31-5 PUB DATE 87 NOTE 477p. PUB TYPE Collected Works Conference Proceedings (021) -- Viewpoints (120) Reports - Research/Technical (143) EDRS PRICE MF01 Plus Postage. PC Not Available from EDRS. DESCRIPTORS *Artificial Intelligence; *Computer Assisted Instruction; *Computer Managed Instruction; Computers; Computer Simulation; Courseware; *Distance Education; Foreign Countries; Higher Education; Instructional Systems; Interactive Video; *Media Research; Programing IDENTIFIERS *Australia; Intelligent CAI Systems; Intelligent Tutoring Systems ABSTRACT The 63 papers i.n this collection .iclude two keynote addresses: r..Datient Simulation Using Interactive Video: An Application" (Joseph V. Henderson), and "Intelligent Tutoring Systems: Practice Opportunities and Explanatory Models" (Alan Lesgold). The remaining papers are groupedunder five topics:(1) Artificial Intelligence, including intelligent computerassisted learning, problem solving, artificial intelligence, andprogramming (15 papers);(2) Delivery Systems, including distance learning, communications, and hardware (9 papers); (3) Developments,including interactive video, simulation, authoring, computer managed learning,
    [Show full text]
  • Diseño E Implementación De Un Framework De Presentación Curso 2012/13
    PFC – Diseño e implementación Framework Presentación (2012/13) Licencia Esta obra está bajo una licencia Reconocimiento - No comercial- Sin obras derivadas 2.5 España de Creative Commons. Puede copiarlo, distribuirlo y transmitirlo públicamente siempre que cite al autor y la obra, no se haga un uso comercial y no se hagan copias derivadas. La licencia completa se puede consultar en: http://creativecommons.org/licenses/by-nc-nd/2.5/es/deed.es 1 PFC – Diseño e implementación Framework Presentación (2012/13) Estudios de Informática y Multimedia Proyecto Fin de Carrera Diseño e implementación de un Framework de Presentación Curso 2012/13 Nombre: Daniel Rodríguez Simó Username: drodriguezsi Tutor : Óscar Escudero Sánchez 2 PFC – Diseño e implementación Framework Presentación (2012/13) Agradecimientos Quiero agradecer el apoyo a Isabel, mi mujer, de cara a todo el tiempo invertido para poder sacar adelante estos años de estudio y esfuerzo. Y en general a toda mi familia, especialmente a mis padres Eugenia y Juan Pedro, porque sin ellos y sin la educación que se han esforzado en darme, esto nunca habría sido posible y a Pilar y Eugenia, mis abuelas, que aunque no se encuentren entre nosotros, siempre algo de ellas que nos acompaña en el día a día. Por último agradecer a mi tutor Óscar su apoyo y orientación de cara a la consecución de este objetivo y al buen desarrollo de este Proyecto Fin de Carrera. A todos vosotros, Gracias! 3 PFC – Diseño e implementación Framework Presentación (2012/13) Descripción General El presente proyecto se centra en el estudio y elaboración de un marco de trabajo basado en un Framework de Presentación, dedicado al desarrollo de aplicaciones web bajo la plataforma J2EE.
    [Show full text]
  • Innovations, Regions and Projects: Studies in New Forms of Knowledge Governance
    Innovations, Regions and Projects: Studies in new forms of knowledge governance Edited by Bjørn Terje Asheim and Åge Mariussen Nordregio 2003 First published in 2003 by Nordregio. PO Box 1658, SE-111 86 Stockholm, Sweden Tel. +46 8 463 54 00, fax: +46 8 463 54 01 e-mail: [email protected] website: www.nordregio.se Innovations, Regions and Projects: Studies in new forms of knowledge governance. Edited by Bjørn Terje Asheim and Åge Mariussen. Stockholm: Nordregio 2003 (Nordregio Report 2003:3) ISSN 1403-2503 ISBN 91-89332-33-4 Nordic co-operation takes place among the countries of Denmark, Finland, Iceland, Norway and Sweden, as well as the autonomous territories of the Faroe Islands, Greenland and Åland. The Nordic Council is a forum for co-operation between the Nordic parliaments and governments. The Council consists of 87 parliamentarians from the Nordic countries. The Nordic Council takes policy initiatives and monitors Nordic co-operation. Founded in 1952. The Nordic Council of Ministers is a forum for co-operation between the Nordic governments. The Nordic Council of Ministers implements Nordic co-operation. The prime ministers have the overall responsibility. Its activities are co-ordinated by the Nordic ministers for co-operation, the Nordic Committee for co-operation and portfolio ministers. Founded in 1971. Stockholm, Sweden 2003 Preface This report summarizes main findings and results from two projects: • New Forms of Knowledge Governance, which has been funded by the Norwegian Research Council, with the TIK Centre at the University of Oslo as main contractor, and Nordregio, Stock- holm, as sub-contractor. Bjørn Terje Asheim was responsible for this project.
    [Show full text]
  • Ciesocllibreeng Ananos A2009.Pdf
    2a espai europeu Anglès-1.qxd:titulacions-copia 21/07/09 10:11 Página 2 2a espai europeu Anglès-1.qxd:titulacions-copia 21/07/09 10:11 Página 3 TOWARDS THE EUROPEAN HIGHER EDUCATION AREA (EHEA) Innovative teaching experiences at the UAB in social sciences and humanities 2a espai europeu Anglès-1.qxd:titulacions-copia 21/07/09 10:11 Página 4 2a espai europeu Anglès-1.qxd:titulacions-copia 21/07/09 10:11 Página 5 TOWARDS THE EUROPEAN HIGHER EDUCATION AREA (EHEA) Innovative teaching experiences at the UAB in social sciences and humanities Maite Martínez and Elena Añaños (coord.) 2a espai europeu Anglès-1.qxd:titulacions-copia 21/07/09 10:11 Página 6 Coordinated by: Universitat Autònoma de Barcelona Unitat d’Innovació Docent en Educació Superior (IDES) Edifici A 08193 Bellaterra (Cerdanyola del Vallès). Spain [email protected] http://www.uab.cat/ides Published and printed by: Universitat Autònoma de Barcelona Servei de Publicacions Edifici A 08193 Bellaterra (Cerdanyola del Vallès). Spain [email protected] http://publicacions.uab.es Printed in Spain Legal deposit: B.32.855-2009 ISBN: 978-84-490-2602-7 2a espai europeu Anglès-1.qxd:titulacions-copia 21/07/09 10:11 Página 7 INNOVATIVE TEACHING EXPERIENCES AT THE UAB IN SOCIAL SCIENCIES AND HUMANITIES 7 Index Prologue . 11 Presentation . 15 Acknowledgements . 19 School of Tourism and Hotel Management David Urbano and Francesc Uroz . 23 Fostering creativity and the entrepreneurial spirit in the context of the ECTS Faculty of Law Cristina Riba and Emma Teodoro . 35 Creating multimedia trial presentations CD-ROM: Demonstration materials Joan Lluís Pérez Fransesch, Marcel Mateu Vilaseca and others .
    [Show full text]
  • Getting Started with the Stripes Framework Capital District Java Developers Network
    Getting Started with the Stripes Framework Capital District Java Developers Network Michael P. Redlich March 19, 2009 My Background (1) Degree B.S. in Computer Science Rutgers University (go Scarlet Knights!) “Petrochemical Research Organization” Senior Research Technician (1988-1998, 2004-present) Systems Analyst (1998-2002) Ai-Logix, Inc. (Now AudioCodes) Technical Support Engineer (2003-2004) Amateur Computer Group of New Jersey (ACGNJ) Java Users Group Leader (2001-present) President (2007-present) Secretary (2006) March 19, 2009 Capital District Java Developers Network 2 My Background (2) Publications Java Boutique (http://www.javaboutique.com/) Co-authored with Barry Burd Design Patterns http://publications.redlich.net/ Presentations Emerging Technologies for the Enterprise 2008 Trenton Computer Festival (TCF) since 1998 TCF IT Professional Conference since 2006 Princeton Java Users Group Capital District Java Developers Network New York Software Industry Association (NYSIA) Java Users Group March 19, 2009 Capital District Java Developers Network 3 Upcoming Events Emerging Technologies for the Enterprise 2009 March 26-27, 2009 Philadelphia Marriott West West Conshohocken, PA http://www.phillyemergingtech.com/ Trenton Computer Festival (TCF) 2009 April 24-26, 2009 IT Professional Conference (April 24, 2009) General Show (April 25-26, 2009) The College of New Jersey Ewing, New Jersey http://www.tcf-nj.org/ March 19, 2009 Capital District Java Developers Network 4 Objectives What is Stripes? “What! Yet another web framework?!?” Stripes
    [Show full text]
  • NEAR EAST UNIVERSITY Faculty of Engineering
    NEAR EAST UNIVERSITY Faculty of Engineering Department of Computer Engineering AUTO GALLERY MANAGEMENT SYSTEM Graduation Project COM 400 Student: Ugur Emrah CAKMAK Supervisor : Assoc. Prof. Dr. Rahib ABIYEV Nicosia - 2008 ACKNOWLEDGMENTS "First, I would like to thank my supervisor Assoc. Prof. Dr. Rahib Abiyev for his invaluable advice and belief in my work and myself over the course of this Graduation Project.. Second, I would like to express my gratitude to Near East University for the scholarship that made the work possible. Third, I thank my family for their constant encouragement and support during the preparation of this project. Finally, I would like to thank Neu Computer Engineering Department academicians for their invaluable advice and support. TABLE OF CONTENT ACKNOWLEDGEMENT i TABLE OF CONTENTS ii ABSTRACT iii INTRODUCTION 1 CHAPTER ONE - PHP - Personal Home Page 2 1.1 History Of PHP 2 1.2 Usage 5 1.3 Security 6 1 .4 Syntax 7 1.5 Data Types 8 1.6 Functions 9 1.7 Objects 9 1.8 Resources 10 1.9 Certification 12 1 .1 O List of Web Applications 12 1.11 PHP Code Samples 19 CHAPTER TWO - MySQL 35 2.1 Uses 35 2.2 Platform and Interfaces 36 2.3 Features 37 2.4 Distinguishing Features 38 2.5 History 40 2.6 Future Releases 41 2.7 Support and Licensing .41 2.8 Issues 43 2.9Criticism 44 2.10 Creating the MySQL Database 45 2.11 Database Code of a Sample CMS 50 CHAPTER THREE - Development of Auto Gallery Management System 72 CONCLUSION 77 REFERENCES 78 APPENDIX 79 ii ABSTRACT Auto Gallery Management System is a unique Content Management System which supports functionality for auto galleries.
    [Show full text]
  • Web Application Framework
    UU - IT - UDBL 1 E-COMMERCE and SECURITY - 1DL018 Spring 2008 An introductury course on e-commerce systems alt. http://www.it.uu.se/edu/course/homepage/ehandel/vt08/ Kjell Orsborn Uppsala Database Laboratory Department of Information Technology, Uppsala University, Uppsala, Sweden Kjell Orsborn 4/24/08 UU - IT - UDBL 2 Web Servers ch 6, 7 Kjell Orsborn Department of Information Technology Uppsala University, Uppsala, Sweden Kjell Orsborn 4/24/08 UU - IT - UDBL 3 Web clients and Web servers Clients running browsers Web server Requests sent pages received Kjell Orsborn 4/24/08 UU - IT - UDBL 4 Web server • The term web server can mean one of two things: – A computer program that is responsible for accepting HTTP requests from clients, which are known as web browsers, and serving them HTTP responses along with optional data contents, which usually are web pages such as HTML documents and linked objects (images, etc.). – A computer that runs a computer program as described above. Kjell Orsborn 4/24/08 UU - IT - UDBL 5 Common features of Web servers • Web server programs might differ in detail, but they all share some basic common features: – HTTP: every web server program operates by accepting HTTP requests from the client, and providing an HTTP response to the client. • The HTTP response usually consists of an HTML document, but can also be a raw file, an image, or some other type of document (defined by MIME-types). – Logging: usually web servers have also the capability of logging some detailed information, about client requests and server responses, to log files; • this allows the webmaster to collect statistics by running log analyzers on log files.
    [Show full text]
  • Fall 2015 International Edition
    UN IVERSIT Y OF C HICAGO PRESS 1427 EAST 60TH STREET CHICAGO, ILLINOIS 60637 N IO IT ED L NA IO AT NTERN I 2015 BOOKS LL FA CHICAGO CHICAGO International Fall 2015 Fall Edition Recently Published Fall 2015 Contents General Interest 1 Special Interest 41 Paperbacks 108 Blood Runs Green Siena Distributed Books 134 The Murder That Transfixed Gilded City of Secrets Age Chicago Jane Tylus Gillian O’Brien ISBN-13: 978-0-226-20782-7 Author Index 208 ISBN-13: 978-0-226-24895-0 Cloth $26.00/£18.00 Cloth $25.00/£17.50 E-book ISBN-13: 978-0-226-20796-4 E-book ISBN-13: 978-0-226-24900-1 Title Index 210 Subject Index 212 Ordering Inside Information back cover Infested Elephant Don How the Bed Bug Infiltrated Our The Politics of a Pachyderm Posse Bedrooms and Took Over the World Caitlin O’Connell Brooke Borel ISBN-13: 978-0-226-10611-3 ISBN-13: 978-0-226-04193-3 Cloth $26.00/£18.00 Cloth $26.00/£18.00 E-book ISBN-13: 978-0-226-10625-0 E-book ISBN-13: 978-0-226-04209-1 Plankton Say No to the Devil Cover illustration by André-Marie-Constant Duméril and Gabriel Bibron; appears in the Erpétologie générale, published Wonders of the Drifting World The Life and Musical Genius of 1834–1854. Christian Sardet Rev. Gary Davis Cover design by Mary Shanahan ISBN-13: 978-0-226-18871-3 Ian Zack Cloth $45.00/£31.50 ISBN-13: 978-0-226-23410-6 Catalog design by Alice Reimann and Mary Shanahan E-book ISBN-13: 978-0-226-26534-6 Cloth $30.00/£21.00 E-book ISBN-13: 978-0-226-23424-3 JESSA CRISPIN The Dead Ladies Project Exiles, Expats, and Ex-Countries hen Jessa Crispin was thirty, she burned her settled Chica- go life to the ground and took off for Berlin with a pair of W suitcases and no plan beyond leaving.
    [Show full text]
  • Verknüpfung Von Domänenwissen Für Ein Ontologie-Basiertes IT-Management
    Verknüpfung von Domänenwissen für ein Ontologie-basiertes IT-Management Dissertation zur Erlangung des akademischen Grades eines Doktors der Naturwissenschaften (Dr. rer. nat.) im Fachbereich 16 — Elektrotechnik / Informatik der Universität Kassel vorgelegt von Andreas Textor Tag der Disputation: 20.12.2017 Gutachter: Prof. Dr. Kurt Geihs Prof. Dr. Reinhold Kröger Erklärung Hiermit versichere ich, dass ich die vorliegende Dissertation selbständig, ohne unerlaubte Hilfe Dritter angefertigt und andere als die in der Dissertation angegebenen Hilfsmittel nicht benutzt habe. Alle Stellen, die wörtlich oder sinngemäß aus veröffentlichten oder unveröffentlichten Schriften entnommen sind, habe ich als solche kenntlich gemacht. Dritte waren an derinhalt- lichen Erstellung der Dissertation nicht beteiligt; insbesondere habe ich nicht die Hilfe eines kommerziellen Promotionsberaters in Anspruch genommen. Kein Teil dieser Arbeit ist in ei- nem anderen Promotions- oder Habilitationsverfahren durch mich verwendet worden. Weinstadt, 19.08.2017 Andreas Textor Inhaltsverzeichnis 1 Einleitung 1 1.1 Motivation ...................................... 1 1.2 Fragestellung und Lösungsansätze ......................... 4 1.3 Methodischer Ansatz ................................ 7 1.4 Aufbau und Ergebnisse der Arbeit ......................... 8 I Grundlagen 9 2 IT Service Management und IT-Governance 11 2.1 Ziele und Aufgaben ................................. 11 2.1.1 IT Service Management .......................... 11 2.1.2 IT-Governance ..............................
    [Show full text]
  • Apache Wicket
    Apache Wicket 10 years and beyond Martijn Dashorst a brief history the current state the future of Wicket of Wicket of Wicket co-author 10 year contributor to Wicket started in 2004 at topicus without any knowledge of web programming before Wicket at topicus 2004 using maverick velocity hibernate jasperreports lots of XML configuration 1 change requires N files to be modified (for large values of N) <command name="admin.tabelbeheer.edittoetsonderdeel"> <controller class="nl.topicus.bao.web.ctrl.lab.toetsen. <view name="success" path="/admin/tabelbeheer/toetsen/e <transform path="/mlayout/mainlayout.vm"> <param name="_pagetitle" value="Beheer Tabellen </transform> </view> <view name="error" path="/admin/tabelbeheer/toetsen/edi <transform path="/mlayout/mainlayout.vm"> <param name="_pagetitle" value="Beheer Tabellen </transform> </view> <view name="list" path="admin.tabelbeheer.edittoets.m" </command> high learning curve no back button support no multi-tab support HTTP Session dumping ground little to no reuse </tr> #if($model.bean.absentieRegels.empty) <tr> <td colspan="19" class="border-r">#formname('groep.absent' </tr> #else #set($columnIndexes=[1,2,3,4,5,6,7,8,9,10]) #foreach($row in $model.bean.absentieRegels) <tr> <td class="columnvalue">$arrayTool.elementAt($row, 0)</td #foreach($index in $columnIndexes) #set($melding=$arrayTool.elementAt($row, $index)) complex UI neigh impossible a framework that makes reuse possible, minimises configuration, server side state management easy and is as type safe as possible Action Framework Anvil Apache
    [Show full text]