Reflective Model Driven Engineering with The

Total Page:16

File Type:pdf, Size:1020Kb

Reflective Model Driven Engineering with The Model-Driven Development of Model Transformations Citation for published version (APA): van Gorp, P. M. E. (2008). Model-Driven Development of Model Transformations. Universiteit van Antwerpen. Document status and date: Published: 01/01/2008 Document Version: Publisher’s PDF, also known as Version of Record (includes final page, issue and volume numbers) Please check the document version of this publication: • A submitted manuscript is the version of the article upon submission and before peer-review. There can be important differences between the submitted version and the official published version of record. People interested in the research are advised to contact the author for the final version of the publication, or visit the DOI to the publisher's website. • The final author version and the galley proof are versions of the publication after peer review. • The final published version features the final layout of the paper including the volume, issue and page numbers. Link to publication General rights Copyright and moral rights for the publications made accessible in the public portal are retained by the authors and/or other copyright owners and it is a condition of accessing publications that users recognise and abide by the legal requirements associated with these rights. • Users may download and print one copy of any publication from the public portal for the purpose of private study or research. • You may not further distribute the material or use it for any profit-making activity or commercial gain • You may freely distribute the URL identifying the publication in the public portal. If the publication is distributed under the terms of Article 25fa of the Dutch Copyright Act, indicated by the “Taverne” license above, please follow below link for the End User Agreement: www.tue.nl/taverne Take down policy If you believe that this document breaches copyright please contact us at: [email protected] providing details and we will investigate your claim. Download date: 10. Oct. 2021 Model-Driven Development of Model Transformations Pieter Van Gorp Promotor: Prof. dr. Dirk Janssens Co-promotor: Prof. dr. Serge Demeyer Proefschrift ingediend tot het behalen van de graad van Doctor in de Wetenschappen Acknowledgements The priceless support of many has resulted in the successful completion of this thesis. I am now able to hold this document and enjoy nice memories of five years of doctoral research. “Regrets, I’ve had a few; But then again, too few to mention.” [6] Therefore, it is a pleasure to thank the many people who supported this challenging project. I would like to thank my parents for giving me the motivation and resources to study at the university. Thanks to all my family members for always being there when I needed them the most. Thanks to Nena for supporting me in countless ways, in particular when I was completing this text. Thanks to Dirk Janssens and Serge Demeyer for supervising my doctoral research. You have given me the freedom to pursue my personal research interests, you have thaught me how to write scientific papers, you have enabled me to attend international conferences, you have recruited new team members in my research domain, and you have enabled me to align my teaching and research activities. Dirk, thanks for your insights related to graph transformation and thanks for introducing me to collaborative experts in the field. Serge, thanks for assisting me in finding a balance between theoretical and practical contributions. Special thanks to all office and research group comrades, in particular to Duboix, Skiptron and Method Man. You have have made my office time enjoyable for reasons that go beyond my research passion. Thanks to Hans Schippers and Olaf Muliawan for building the MoTMoT infrastructure. Hans, thanks for “playing” devil’s advocate so many times. I am very grateful to the hosts of my research visits. In particular, thanks to Reiko Heckel, Lothar Wendehals and Robert Wagner for the warm welcome in Paderborn. Thanks to Jean Bézivin and Frédéric Jouault for the great time in Nantes. Thanks to the organizers of the Dagstuhl seminars that I enjoyed attending. Thanks to Frank Altheide for visiting our lab and joining me on an exploration of the relations between new MDA technologies and more mature work in the domain of consistency maintenance. Frank, you have raised my awareness of things that I had been taking for granted while working in a rather closed community. I owe my interest in enterprise computing to Jan Broeckhove and Gunther Stuer. Thanks for pointing me in this challenging direction. Unfortunately, it is impossible to thank every- body who may have influenced me throughout inspiring discussions. However, I would like to express a special gesture of gratitude to Hans Stenten, Tom Mens, Andy Schürr, Albert Zündorf, Hans Vangheluwe, Krzysztof Czarnecki, Kim Mens, Roel Wuyts, Jean-Marie Favre, Jos Warmer, Colin Atkinson, Ralf Lämmel, James Skene, Alexey Cherchago, Simon Becker and Jordi Cabot. 3 Abstract This thesis presents how evolving software models expressed in different formalisms can be kept consistent by means of an object-oriented integration of metamodeling, design by con- tract and graph transformation. It incrementally builds upon existing modeling languages to illustrate that the adoption of the new model-driven engineering paradigm does not force organizations to abandon their investments in more mature technologies. More specifically, this thesis shows how the new transformation languages introduced by the Model Driven Architecture standardization effort relate to fragments of the UML that have a well-known, object-oriented semantics. The proposed techniques have emerged from several case studies that involve a wide vari- ety of transformation challenges. Therefore, the contributions are applicable for transforma- tion modeling in general: at first, it is illustrated how model evolution can be supported; sec- ondly, the technique is applied to transform conceptual models into more computer oriented ones; finally, the technique is applied and extended in the context of model synchronization. 5 Contents 1 Introduction 13 1.1 Context . 13 1.1.1 Model-Driven Engineering . 13 1.1.2 Standardization . 14 1.1.3 Summary of Contributions . 15 1.2 Model Driven Architecture . 16 1.2.1 The UML as a Framework for Domain Specific Visual Languages . 17 1.2.1.1 UML Profile Application . 17 1.2.1.2 Evaluation . 19 1.2.1.3 UML Profile Definition . 19 1.2.1.4 Language Support for Profiles . 20 1.2.2 Meta Object Facility (MOF) . 22 1.2.3 MOF Queries, Views and Transformations RFP . 22 1.2.3.1 Requirements from the Request For Proposals . 22 1.2.3.2 Evaluation of Existing Solution: Java Metadata Interface . 23 1.3 Towards Standards for Modeling Transformations . 24 1.3.1 Jézéquel’s OCL Actions . 24 1.3.2 Cariou’s OCL Transformation Contracts . 25 1.3.3 Akehurst’s OCL Relations . 26 1.3.3.1 Standardization of a Mapping Operator . 27 1.3.3.2 Pattern for Modeling Mathematical Relations in the UML . 28 1.3.4 Controlled Graph Transformation, Story Diagrams . 32 1.3.4.1 Graph Transformation Basics: Left- and Right-hand Sides . 33 1.3.4.2 Concrete Syntax: Merging LHS and RHS . 34 1.3.4.3 Control Structures . 36 1.3.4.4 Evaluation of the Story Driven Modeling Methodology . 37 1.3.5 MOF Queries, Views and Transformations Standard . 38 1.4 Summary and Outlook . 39 2 A Taxonomy of Model Transformation 41 2.1 The Taxonomy as an organic Community Artifact . 42 2.2 Classifying Transformation Types . 42 2.2.1 Transformation Types . 43 2.2.2 Taxonomy Elements . 44 2.2.2.1 Translation or Rephrasing . 44 6 CONTENTS 7 2.2.2.2 Horizontal or Vertical . 44 2.2.2.3 Syntactical or Semantical . 45 2.2.3 Classification . 45 2.3 Classifying Transformation Designs . 46 2.3.1 Number of (Sub-)Models and Metamodels . 46 2.3.1.1 First-class or Sub-model Transformation . 46 2.3.1.2 Input-destructive, Input-polluting or Input-preserving . 48 2.3.1.3 In-place or Out-place . 49 2.3.1.4 Endogenous or Exogenous . 49 2.3.1.5 Relation to Transformation Types . 50 2.3.2 Technical Space . 50 2.3.3 Intra- or Inter-Space . 51 2.3.4 Versatility: Enforceable, Checkable, Ignorable, Prioritizable . 52 2.4 Classifying Transformation Languages . 52 2.4.1 Declarative or Operational . 52 2.4.1.1 Change Propagation: Implicit, Explicit or Both . 53 2.4.1.2 Execution Direction: Implicit, Explicit or Both . 53 2.4.1.3 Rule Scheduling: Implicit, Explicit or Both . 55 2.4.1.4 Restrictive or Constructive . 56 2.4.2 Concrete Syntax . 57 2.4.3 Decomposition Mechanisms . 58 2.4.4 Genericity . 58 2.4.4.1 Specialization . 58 2.4.4.2 Overloading . 58 2.4.4.3 Reflection . 59 2.4.4.4 Higher Order Transformations . 59 2.4.5 Traceability . 59 2.5 Classifying Transformation Tools . 60 2.5.1 CRUD: Creating/Reading/Updating/Deleting transformations . 60 2.5.2 Useful and Usable . 60 2.5.3 Run-Time Performance versus Developer Performance . 61 2.5.4 Input/Output: In-Memory versus Serialized . 61 2.5.5 Standards . 61 2.6 Summary and Outlook . 62 I Refactoring 65 3 Towards Automating Source-Consistent UML Refactoring 67 3.1 Refactoring: Context, Tools, Relation to the UML . 68 3.2 Describing UML Refactorings as Refactoring Contracts . 68 3.2.1 Refactoring Contracts . 68 3.2.2 Extract Method . 69 3.2.2.1 OCL Pre- and Postconditions . 69 3.2.2.2 OCL Code Smell: Duplicate Code ............. 71 3.2.3 Pull Up Method . 72 3.2.4 Discussion .
Recommended publications
  • 9<HTOFPA=Hjdjfd>
    34 Computer Science Springer News 6/2008 springer.com/booksellers P. Abrahamsson, VTT, Finland; R. Baskerville, W. Abramowicz, Poznan University of Economics, R. Adams, Nanaimo, BC, Canada; S. Gibson, Georgia State University, Atlanta, GA, USA; Poznan, Poland; D. Fensel, STI Innsbruck, Austria University of Victoria, VIC, Canada; S. Müller Arisona, K. Conboy, Lero, NUI Galway, Ireland; B. Fitzgerald, (Eds.) University of California, Santa Barbara, CA, USA (Eds.) L. Morgan, X. Wang, Lero, University of Limerick, Ireland (Eds.) Business Information Systems Transdisciplinary Digital Art. Agile Processes in Software 11th International Conference, Sound, Vision and the New BIS 2008, Innsbruck, Austria, Screen Engineering and Extreme May 5–7, 2008, Proceedings Programming Digital Art Weeks and Interactive Futures 2006/2007, Zürich, Switzerland and Victoria, 9th International Conference, XP 2008, BC, Canada, Selected Papers Limerick, Ireland, June 11–14, 2008, This book contains the refereed proceedings of the 11th International Conference on Business Proceedings Information Systems, BIS 2008, held in Innsbruck, Austria, in May 2008. This volume collects selected papers from the The 41 revised full papers were carefully reviewed past two instances of Digital Art Weeks (Zurich, This book constitutes the refereed proceedings and selected inclusion in the book. The contri- Switzerland) and Interactive Futures (Victoria, BC, of the 8th International Conference on Agile butions cover research trends as well as current Canada), two parallel festivals of digital media art. Processes in Software Engineering and eXtreme achievements and cutting edge developments in The work represented in Transdisciplinary Digital Programming, XP 2008, held in Limerick, Ireland, the area of modern business information systems. Art is a confirmation of the vitality and breadth in June 2008.
    [Show full text]
  • Balloons Could Outperform Spacecraft by Surfing the Stratosphere. We Go
    AVIATION WORKFORCE 40 SPACE POWER 34 ROBOTICS 12 Attract the best and brightest Meet ROSA, the Roll Out Solar Array The case for telepresence at Mars Satellite envy Balloons could outperform spacecraft by surfi ng the stratosphere. We go deep on one company’s plan. PAGE 24 OCTOBER 2017 | A publication of the American Institute of Aeronautics and Astronautics | aerospaceamerica.aiaa.org CALL FOR TECHNICAL BRIEFINGS The AIAA Defense and Security Forum (AIAA DEFENSE 2018) brings together the contractor, acquisition, and R&D communities for classifi ed and unclassifi ed discussions of critical technical, programmatic, and policy topics in a SECRET/NoFORN unbiased, nonpartisan environment. Nearly 200 experts will present the latest innovative technological breakthroughs that will integrate with current and next-generation defense systems. Advanced Prototypes Aerospace and Defense Computing Systems Countermeasures Directed Energy Weapons Estimation, Guidance, Navigation and Control Hypersonic Systems and Technologies Innovative Concepts and Technologies Missile Defense Robotic and Unmanned Weapon Systems Space Systems Strategic Missile Systems – Ground Based Strategic Missile Systems – Sea Based Deterrent Survivability Systems and Decision Analysis for National Security Tactical Missiles Weapon System Performance Analysis, Modeling and Simulation Weapon System Test and Evaluation Abstract Deadline: 30 November 2017 FEATURES | October 2017 MORE AT aerospaceamerica.aiaa.org 16 34 24 Ka-boom! Unrolling innovation Stratosphere surfi ng How a mission to smash a spacecraft Meet the solar array that could One company says its balloons can do into a moonlet may help defend Earth disrupt the spacecraft market. from asteroids and comets. what conventional satellites can do, By Debra Werner and then some.
    [Show full text]
  • Using CMMI Together with Agile Software Development
    Information and Software Technology 58 (2015) 20–43 Contents lists available at ScienceDirect Information and Software Technology journal homepage: www.elsevier.com/locate/infsof Using CMMI together with agile software development: A systematic review ⇑ Fernando Selleri Silva a,b, , Felipe Santana Furtado Soares a,c, Angela Lima Peres a,d, Ivanildo Monteiro de Azevedo a,b, Ana Paula L.F. Vasconcelos a,b, Fernando Kenji Kamei a,e, Silvio Romero de Lemos Meira a,c a Center of Informatics (CIn), Federal University of Pernambuco (UFPE), Recife, PE, Brazil b Computer Science Course (FACET), Mato Grosso State University (UNEMAT), Barra do Bugres, MT, Brazil c Recife Center of Advanced Studies and Systems (C.E.S.A.R), Recife, PE, Brazil d Cesmac University Center, Maceió, AL, Brazil e Federal Institute of Alagoas (IFAL), Arapiraca, AL, Brazil article info abstract Article history: Background: The search for adherence to maturity levels by using lightweight processes that require low Received 18 April 2014 levels of effort is regarded as a challenge for software development organizations. Received in revised form 21 August 2014 Objective: This study seeks to evaluate, synthesize, and present results on the use of the Capability Matu- Accepted 27 September 2014 rity Model Integration (CMMI) in combination with agile software development, and thereafter to give an Available online 6 October 2014 overview of the topics researched, which includes a discussion of their benefits and limitations, the strength of the findings, and the implications for research and practice. Keywords: Methods: The method applied was a Systematic Literature Review on studies published up to (and Software process improvement including) 2011.
    [Show full text]
  • A Framework for Maturing in Agile Software Development
    The Journal of Systems and Software 102 (2015) 88–108 Contents lists available at ScienceDirect The Journal of Systems and Software journal homepage: www.elsevier.com/locate/jss Progressive Outcomes: A framework for maturing in agile software development Rafaela Mantovani Fontana a,b,∗, Victor Meyer Jr. a, Sheila Reinehr a, Andreia Malucelli a a Pontifical Catholic University of Paraná (PUCPR), R. Imaculada Conceição, 1155, Prado Velho, 80215-901 Curitiba, PR, Brazil b Federal University of Paraná (UFPR), R. Dr. Alcides Vieira Arcoverde, 1225, Jd. das Américas, 81520-260 Curitiba, PR, Brazil article info abstract Article history: Maturity models are used to guide improvements in the software engineering field and a number of maturity Received 25 August 2014 models for agile methods have been proposed in the last years. These models differ in their underlying Revised 2 December 2014 structure prescribing different possible paths to maturity in agile software development, neglecting the Accepted 15 December 2014 fact that agile teams struggle to follow prescribed processes and practices. Our objective, therefore, was to Availableonline22December2014 empirically investigate how agile teams evolve to maturity, as a means to conceive a theory for agile software Keywords: development evolvement that considers agile teams nature. The complex adaptive systems theory was used Maturity as a lens for analysis and four case studies were conducted to collect qualitative and quantitative data. As a Agile software development result, we propose the Progressive Outcomes framework to describe the agile software development maturing Software process improvement process. It is a framework in which people have the central role, ambidexterity is a key ability to maturity, Complex adaptive systems and improvement is guided by outcomes agile teams pursue, instead of prescribed practices.
    [Show full text]
  • Agile Processes in Software Engineering and Extreme
    Juan Garbajosa · Xiaofeng Wang Ademar Aguiar (Eds.) Agile Processes in Software Engineering and Extreme Programming LNBIP 314 19th International Conference, XP 2018 Porto, Portugal, May 21–25, 2018 Proceedings Lecture Notes in Business Information Processing 314 Series Editors Wil M. P. van der Aalst RWTH Aachen University, Aachen, Germany John Mylopoulos University of Trento, Trento, Italy Michael Rosemann Queensland University of Technology, Brisbane, QLD, Australia Michael J. Shaw University of Illinois, Urbana-Champaign, IL, USA Clemens Szyperski Microsoft Research, Redmond, WA, USA More information about this series at http://www.springer.com/series/7911 Juan Garbajosa • Xiaofeng Wang Ademar Aguiar (Eds.) Agile Processes in Software Engineering and Extreme Programming 19th International Conference, XP 2018 Porto, Portugal, May 21–25, 2018 Proceedings Editors Juan Garbajosa Ademar Aguiar Technical University of Madrid University of Porto Madrid, Madrid Porto Spain Portugal Xiaofeng Wang Free University of Bozen-Bolzano Bolzano Italy ISSN 1865-1348 ISSN 1865-1356 (electronic) Lecture Notes in Business Information Processing ISBN 978-3-319-91601-9 ISBN 978-3-319-91602-6 (eBook) https://doi.org/10.1007/978-3-319-91602-6 Library of Congress Control Number: 2018944291 © The Editor(s) (if applicable) and The Author(s) 2018. This book is an open access publication. Open Access This book is licensed under the terms of the Creative Commons Attribution 4.0 International License (http://creativecommons.org/licenses/by/4.0/), which permits use, sharing, adaptation, distribution and reproduction in any medium or format, as long as you give appropriate credit to the original author(s) and the source, provide a link to the Creative Commons license and indicate if changes were made.
    [Show full text]
  • OPEN SOURCE ARCHIVE Towards Open and Sustainable Digital Archives
    OPEN SOURCE ARCHIVE Towards open and sustainable digital archives Liisa Uosukainen (ed.) Publisher: Mikkeli University of Applied Sciences Publication serie: A Research Reports - Tutkimuksia ja raportteja 94 University of Appl ied Sciences OPEN SOURCE ARCHIVE Towards open and sustainable digital archives Liisa Uosukainen (ed.) MIKKELI UNIVERSITY OF APPLIED SCIENCES MIKKELI 2014 A: RESEARCH REPORTS - TUTKIMUKSIA JA RAPORTTEJA 94 1 © Authors and Mikkeli University of Applied Sciences Cover picture: Manu Eloaho Cover layout: Advertising agency Nitro ID Layout and printing: Tammerprint Oy ISBN: 978-951-588-455-8 (nid.) ISBN: 978-951-588-456-5 (PDF) ISSN: 1795-9438 (nid.) [email protected] 2 CONTENTS Authors 4 Questions, sources And contexts – digitAl Archiving As A fAcilitAtor in AcQuiring new informAtion And providing services 5 A winning model built At mAmk: tAilored services from A common plAtform 8 two ApproAches to digitAl long-term storAge And preservAtion At the nAtionAl Archives of sweden (nAs) And the chAllenge of file formAt stAndArds 24 An open source Archiving system for mAnAging business Archives 45 working together with fedorA commons: sustAinAble digitAl repository solutions 51 the hArmonizAtion of digitAl contents: benefits And reQuirements 54 web-ApplicAtion development in the open source Archive project 63 ArchivAl ui – An old relic or modern And novel? 72 open source in mAmk’s it educAtion 78 open movement – A megAtrend of our time 86 3 AuThOrS Alm Olli, Master of Arts, Information Services and Development Manager, Central Archives for Finnish Business Records Awre Chris, BSc (Hons) Biochemistry, MSc Information Science, Head of Information Management, University of Hull and Co-chair, Fedora UK & Ireland Fedora User Group Drake Karl-Magnus, Ph.D.
    [Show full text]
  • Measuring Coding Challenge Competence with APPS
    Measuring Coding Challenge Competence With APPS Dan Hendrycks∗ Steven Basart* Saurav Kadavath Mantas Mazeika Akul Arora UC Berkeley UChicago UC Berkeley UIUC UC Berkeley Ethan Guo Collin Burns Samir Puranik Horace He UC Berkeley UC Berkeley UC Berkeley Cornell Dawn Song Jacob Steinhardt UC Berkeley UC Berkeley Abstract While programming is one of the most broadly applicable skills in modern society, modern machine learning models still cannot code solutions to basic problems. Despite its importance, there has been surprisingly little work on evaluating code generation, and it can be difficult to accurately assess code generation performance rigorously. To meet this challenge, we introduce APPS, a benchmark for code gen- eration. Unlike prior work in more restricted settings, our benchmark measures the ability of models to take an arbitrary natural language specification and generate sat- isfactory Python code. Similar to how companies assess candidate software devel- opers, we then evaluate models by checking their generated code on test cases. Our benchmark includes 10;000 problems, which range from having simple one-line solutions to being substantial algorithmic challenges. We fine-tune large language models on both GitHub and our training set, and we find that the prevalence of syntax errors is decreasing exponentially as models improve. Recent models such as GPT-Neo can pass approximately 20% of the test cases of introductory problems, so we find that machine learning models are now beginning to learn how to code. As the social significance of automatic code generation increases over the coming years, our benchmark can provide an important measure for tracking advancements.
    [Show full text]
  • Measuring Coding Challenge Competence with APPS
    Measuring Coding Challenge Competence With APPS Dan Hendrycks∗ Steven Basart* Saurav Kadavath Mantas Mazeika Akul Arora UC Berkeley UChicago UC Berkeley UIUC UC Berkeley Ethan Guo Collin Burns Samir Puranik Horace He UC Berkeley UC Berkeley UC Berkeley Cornell Dawn Song Jacob Steinhardt UC Berkeley UC Berkeley Abstract 1 While programming is one of the most broadly applicable skills in modern society, 2 it is unclear how well state-of-the-art machine learning models can write code. De- 3 spite its importance, there has been surprisingly little work on evaluating code gen- 4 eration, and it can be difficult to assess code generation performance in an accurate 5 and rigorous manner. To meet this challenge, we introduce APPS, a benchmark for 6 code generation. Unlike prior work in more restricted settings, our benchmark mea- 7 sures the ability of models to take an arbitrary natural language specification and 8 generate satisfactory Python code. Similar to how companies assess candidate soft- 9 ware developers, we evaluate models by checking their generated code on test cases. 10 Our benchmark includes 10;000 problems, which range from having simple one- 11 line solutions to being substantial algorithmic challenges. We fine-tune large lan- 12 guage models on both GitHub and our training set, and we find that the prevalence 13 of syntax errors is decreasing exponentially as models improve. Recent models such 14 as GPT-Neo can pass approximately 20% of the test cases of introductory problems, 15 so we find that machine learning models are now beginning to learn how to code.
    [Show full text]
  • FEB 2 4 2005 Massachusetts Institute of Technology February 2005 L 1 10A RI E ©2005 Massachusetts Institute of Technology All Rights Reserved
    A Knowledge Services Roadmap For Online Learning by Anand Rajagopal B.Tech, Civil Engineering Indian Institute of Technology-Bombay, India, 2002 Submitted to the Department of Civil and Environmental Engineering and the Engineering Systems Division in Partial Fulfillment of the Requirements for the Degrees of BARKER Master of Science in Civil and Environmental Engineering and IMA SSACHUSETTS INSTITUTE Master of Science in Technology and Policy OF TECHNOLOGY at the FEB 2 4 2005 Massachusetts Institute of Technology February 2005 L 1 10A R IE ©2005 Massachusetts Institute of Technology All rights reserved, Signature of Author............. .... .... ........................................ Civil and Envi nmental Engineering and Technology and Policy January 14, 2005 Certified by................................... John R. Williams Professor of Civil and E ronmental Engineering and Engineering Systems Thesis Supervisor Accepted by............................. ..................... Dava J. Newman Professor of Aeronautics a d Astronautics and Engineering Systems jr, hnolgy and Policy Program A ccepted by ......................................................................................... Andrew Whittle Chairman, Departmental Committee on Graduate Studies Department of Civil and Environmental Engineering 4 A Knowledge Services Roadmap For Online Learning by Anand Rajagopal Submitted to the Department of Civil and Environmental Engineering and the Engineering Systems Division on January 14, 2005 in Partial Fulfillment of the Requirements
    [Show full text]
  • Towards Resource-Aware Security Testing of Software
    Towards Resource-Aware Security Testing of Software Submitted in partial fulfillment of the requirements for the degree of Doctor of Philosophy in Electrical and Computer Engineering Sang Kil Cha B.S., Electrical Engineering, Korea University M.S., Electrical and Computer Engineering, Carnegie Mellon University Thesis Committee: Dr. David Brumley, Chair Dr. Lujo Bauer Dr. David Molnar Dr. Vyas Sekar Carnegie Mellon University Pittsburgh, PA August 10, 2015 Copyright c 2015 Sang Kil Cha For my daughter, Jaen. Abstract As software permeates every facet of life, it is imperative to assure the safety of soft- ware systems. Software vulnerabilities—exploitable software bugs—allow an attacker to destroy privacy, steal identities, and even extort money from victims. Therefore, software bugs must be discovered before an attacker can exploit them. This dissertation presents our work on mutational fuzzing, a software testing tech- nique for finding software bugs. Specifically, we argue that the efficiency of mutational fuzzing can drastically change depending on its parameters, and thus, automatic pa- rameter optimization can help in improving the fuzzing efficiency. We validate this ar- gument by designing, implementing, and evaluating several systems that employ novel techniques optimizing parameter selection for mutational fuzzing. Our specific contri- butions are that (1) we precisely define fuzzing and its parameter space; (2) we analyti- cally study the effectiveness of mutational fuzzing in terms of bug finding probability; (3) we then address three strategies in optimizing mutational fuzzing over the parame- ter space in terms of the number of bugs found; and (4) we finally show a post-fuzzing strategy that enables prioritizing security-relevant bugs under limited resources.
    [Show full text]
  • Wang Uta 2502D 10774.Pdf (527.4
    ADVANCED SOFTWARE TESTING TECHNIQUES BASED ON COMBINATORIAL DESIGN by WENHUA WANG Presented to the Faculty of the Graduate School of The University of Texas at Arlington in Partial Fulfillment of the Requirements for the Degree of DOCTOR OF PHILOSOPHY THE UNIVERSITY OF TEXAS AT ARLINGTON August 2010 Copyright © by Wenhua Wang 2010 All Rights Reserved ACKNOWLEDGEMENTS I am sincerely grateful to Prof. Lei for his tutoring in my PhD program. Through these years, he has always been offering motivation and encouragement to me. Without his mentoring and support, it would not have been possible to make it to this point. I also owe my gratitude to Dr. Che, Dr. Fegaras, Dr. Khalili, and Dr. Kung for their serving in the committee. They instructed me in computer science knowledge and research methodology. Their valuable advice guided me to gain an insight into my research work. In my security testing project, Dr. Csallner and Dr. Liu also instructed me in security knowledge and problem solving skills. I appreciate their tutoring too. During my PhD program, many people in UTA also gave me help, especially Ms. McBride and Ms. Costabile. Thanks for their help! Finally, I would not be in this position without my parents’ continuous support in the last thirty years. I would like to dedicate this work to them. July 15, 2010 iii ABSTRACT ADVANCED SOFTWARE TESTING TECHNIQUES BASED ON COMBINATORIAL DESIGN Wenhua Wang, PhD The University of Texas at Arlington, 2010 Supervising Professor: Yu Lei Combinatorial testing refers to a testing strategy that applies the principles of combinatorial design to the domain of software test generation.
    [Show full text]
  • Dynamic Language Embedding
    Dynamic Language Embedding With Homogeneous Tool Support Inauguraldissertation der Philosophisch-naturwissenschaftlichen Fakultät der Universität Bern | downloaded: 27.9.2021 vorgelegt von Lukas Renggli von Entlebuch Leiter der Arbeit: Prof. Dr. O. Nierstrasz Institut für Informatik und angewandte Mathematik https://doi.org/10.7892/boris.104713 source: This dissertation is available as a free download from scg.unibe.ch. Copyright © 2010 Lukas Renggli, www.lukas-renggli.ch. The contents of this dissertation are protected under Creative Commons Attribution-ShareAlike 3.0 Unported license. For any reuse or distribution, you must make clear to others the license terms of this work. The best way to do this is with a link to creativecommons.org/licenses/by-sa/3.0/. First Edition, October, 2010. Cover art by Martin Renggli. Acknowledgements First of all, I would like to express my gratitude to Oscar Nierstrasz for giving me the opportunity to work at the Software Composition Group. I thank him for his advice and support throughout the years. I would like to thank Ralf Lämmel for writing the Koreferat and for accepting to be on the PhD committee. I enjoyed the good discussions we had when we met in Bern, Koblenz and at various language engineering conferences. I thank Matthias Zwicker for accepting to chair the examination. I am grateful to Stéphane Ducasse for his enthusiasm and the numerous invitations to join him at his research group in Annecy and later in Lille. I might not have taken the path of pursuing a PhD without the encouragements of him. I also thank Tudor Gîrba for the inspiring discussions and for providing many of the ideas that have influenced this work.
    [Show full text]