Reliable Software Technologies – Ada-Europe 2013

Total Page:16

File Type:pdf, Size:1020Kb

Reliable Software Technologies – Ada-Europe 2013 ADA Volume 33 USER Number 3 September 2012 JOURNAL Contents Page Editorial Policy for Ada User Journal 138 Editorial 139 Quarterly News Digest 141 Conference Calendar 165 Forthcoming Events 170 Press Release “First ‘Ada Way’ Award Winners and ‘Try and Beat Me’ Challenge” 175 Special Contribution J. G. P. Barnes “Rationale for Ada 2012: 4 Tasking and Real-Time” 178 Ada-Europe 2012 Panels T. Vardanega, F. Gasperoni, E. Plödereder, J. M. Martínez Rodríguez, B. Meyer, A. Llemosí “What is language technology in our time” 187 J. Bundgaard, A. Rodríguez, S. Palm, R. E. Sward, J. Ruiz “Reliable software, a perspective from industry” 204 Ada Way Report R. Aguirre Reyes, A. Graziano, M. Teoli, A. Zuccato “The Ada Way: development of a soccer simulator” 212 Articles from the Industrial Track of Ada-Europe 2012 F. Dordowsky, R. Bridges, H. Tschöpe “Combining Code Generation and Ada Generics to implement a Software Product Line” 217 Ada Gems 227 Ada-Europe Associate Members (National Ada Organizations) 230 Ada-Europe 2012 Sponsors Inside Back Cover Ada User Journal Volume 33, Number 3, September 2012 138 Editorial Policy for Ada User Journal Publication Original Papers Commentaries Ada User Journal — The Journal for Manuscripts should be submitted in We publish commentaries on Ada and the international Ada Community — is accordance with the submission software engineering topics. These published by Ada-Europe. It appears guidelines (below). may represent the views either of four times a year, on the last days of individuals or of organisations. Such March, June, September and All original technical contributions are articles can be of any length – December. Copy date is the last day of submitted to refereeing by at least two inclusion is at the discretion of the the month of publication. people. Names of referees will be kept Editor. confidential, but their comments will Opinions expressed within the Ada Aims be relayed to the authors at the discretion of the Editor. User Journal do not necessarily Ada User Journal aims to inform represent the views of the Editor, Ada- readers of developments in the Ada The first named author will receive a Europe or its directors. programming language and its use, complimentary copy of the issue of the general Ada-related software Journal in which their paper appears. Announcements and Reports engineering issues and Ada-related We are happy to publicise and report activities in Europe and other parts of By submitting a manuscript, authors grant Ada-Europe an unlimited license on events that may be of interest to our the world. The language of the journal readers. is English. to publish (and, if appropriate, republish) it, if and when the article is Although the title of the Journal refers accepted for publication. We do not Reviews to the Ada language, any related topics require that authors assign copyright to Inclusion of any review in the Journal are welcome. In particular papers in the Journal. is at the discretion of the Editor. any of the areas related to reliable Unless the authors state explicitly A reviewer will be selected by the software technologies. otherwise, submission of an article is Editor to review any book or other taken to imply that it represents publication sent to us. We are also The Journal publishes the following prepared to print reviews submitted types of material: original, unpublished work, not under consideration for publication else- from elsewhere at the discretion of the Refereed original articles on where. Editor. technical matters concerning Ada and related topics. News and Product Announcements Submission Guidelines Ada User Journal is one of the ways in All material for publication should be News and miscellany of interest to which people find out what is going on sent to the Editor, preferably in the Ada community. in the Ada community. Since not all of electronic format. The Editor will only accept typed manuscripts by prior Reprints of articles published our readers have access to resources arrangement. elsewhere that deserve a wider such as the World Wide Web and Prospective authors are encouraged to audience. Usenet, or have enough time to search through the information that can be contact the Editor by email to Commentaries on matters relating found in those resources, we reprint or determine the best format for to Ada and software engineering. report on items that may be of interest submission. Contact details can be to them. found near the front of each edition. Announcements and reports of Example papers conforming to conferences and workshops. Reprinted Articles formatting requirements as well as some word processor templates are Reviews of publications in the While original material is our first available from the editor. There is no field of software engineering. priority, we are willing to reprint (with limitation on the length of papers, the permission of the copyright holder) though a paper longer than 10,000 Announcements regarding material previously submitted words would be regarded as standards concerning Ada. elsewhere if it is appropriate to give it exceptional. a wider audience. This includes papers Further details on our approach to published in North America that are these are given below. not easily available in Europe. We have a reciprocal approach in granting permission for other publications to reprint papers originally published in Ada User Journal. Volume 33, Number 3, September 2012 Ada User Journal 139 Editorial The Ada User Journal is produced by a group of hard working volunteers, which dedicate some of their time to guarantee that the Journal continues its quality production in a (as much as possible) timely manner, so it is important, and pleasant, when we have the opportunity to enlarge this group with new and motivated helping hands. It is thus with contentment that I inform that starting with this issue, Patricia López Martínez, from the University of Cantabria, Spain, takes the role of Assistant Editor in the Editorial Board of the Journal. Patrícia is, since last August, assisting in the production of the Journal, successfully and smoothly taking much of the production tasks. I take the opportunity to welcome her and wish her a very successful term. And the term started with really an impressive issue. These 94 pages (the largest issue in my term as Editor-in-Chief of the Journal) provide a very interesting and diversified set of contents, which, I am sure, will draw the attention and please the reader. First we are glad to publish the announcement, made at the Ada-Europe 2012 conference, of the winners of the Ada Way contest, a team from the University of Padua, Italy, formed by Ricardo Aguirre Reyes, Andrea Graziano, Marco Teoli, and Alberto Zuccato. We are glad that these students have also accepted our invitation, and provided to the Journal a report on the main design decisions and difficulties found in developing the simulator. The contest enters now a “try and beat me” challenge, where any team can attempt to improve over this reference implementation. We also continue the publication of the Ada 2012 Rationale, by John Barnes, with the chapter describing the changes in the tasking and real-time domain, of which possibly the most relevant is the mechanism to control the allocation of tasks on multiprocessors. The emergence and challenges of these architectures require that languages consider new ways to control and schedule tasks, in order to fully utilize the available parallel power. The Ada concurrency model has always been an important mark of the language and it is thus important that Ada continues to be in the forefront of concurrency, and now parallelism, support. Ada 2012 already incorporates some of these features, but more work is undoubtedly still necessary. And, although a coincidence, it is a pleasure that I note that this issue provides the announcement and call for papers for the next IRTAW; the 16th International Real-Time Ada Workshop will take place April 2013 in the beautiful scenery of York, in the UK. IRTAW is the main forum dedicated to the advances of Ada in the tasking and real-time domain and has provided many of the advances in this area in the language revisions. The issue also provides the position papers and summary for the two panels that took place in the Ada-Europe 2012 conference. The first of these, entitled “What is Language Technology in Our Time?”, addressed the increasingly important issue of a language needing an eco-system of frameworks and tools around it in order to reach out to prospective users. This panel was moderated by Tullio Vardanega, from the University of Padua, Italy, and included as panelists Bertrand Meyer, Eiffel Software, Switzerland; Franco Gasperoni, AdaCore, France; Erhard Plödereder, University of Stuttgart, Germany; and José María Martínez, Cassidian, Spain. This issue includes the position papers of moderator and panelists, as well as a summary of the panel discussion by Albert Llemosí, Universitat de les Illes Balears, Spain. The second panel, entitled “Reliable Software, a Perspective from Industry”, discussed the industrial perspective on the software technology for reliable software. It was moderated by Jørgen Bundgaard, Ada in Denmark, and included as panelists Ana Rodríguez, GMV, Spain; Steen Palm, Terma A/S, Denmark and Rick Sward, MITRE, USA. The issue provides their position papers as well as the summary of the panel by José Ruiz, AdaCore, France. Continuing with Ada-Europe 2013, we also publish a paper derived from its industrial track, from Frank Dordowsky (ESG, Germany) and Richard Bridges and Holger Tschöpe (Eurocopter, Germany), presenting the design of the I/O data interface of the NH90 software, using Ada generics. As usual, the issue also provides the News Digest and Calendar sections, by Jacob Sparre Andersen and Dirk Craeynest, their respective editors.
Recommended publications
  • System Safety Engineering: Back to the Future
    System Safety Engineering: Back To The Future Nancy G. Leveson Aeronautics and Astronautics Massachusetts Institute of Technology c Copyright by the author June 2002. All rights reserved. Copying without fee is permitted provided that the copies are not made or distributed for direct commercial advantage and provided that credit to the source is given. Abstracting with credit is permitted. i We pretend that technology, our technology, is something of a life force, a will, and a thrust of its own, on which we can blame all, with which we can explain all, and in the end by means of which we can excuse ourselves. — T. Cuyler Young ManinNature DEDICATION: To all the great engineers who taught me system safety engineering, particularly Grady Lee who believed in me, and to C.O. Miller who started us all down this path. Also to Jens Rasmussen, whose pioneering work in Europe on applying systems thinking to engineering for safety, in parallel with the system safety movement in the United States, started a revolution. ACKNOWLEDGEMENT: The research that resulted in this book was partially supported by research grants from the NSF ITR program, the NASA Ames Design For Safety (Engineering for Complex Systems) program, the NASA Human-Centered Computing, and the NASA Langley System Archi- tecture Program (Dave Eckhart). program. Preface I began my adventure in system safety after completing graduate studies in computer science and joining the faculty of a computer science department. In the first week at my new job, I received a call from Marion Moon, a system safety engineer at what was then Ground Systems Division of Hughes Aircraft Company.
    [Show full text]
  • Manuscript Instructions/Template
    INCOSE Working Group Addresses System and Software Interfaces Sarah Sheard, Ph.D. Rita Creel CMU Software Engineering Institute CMU Software Engineering Institute (412) 268-7612 (703) 247-1378 [email protected] [email protected] John Cadigan Joseph Marvin Prime Solutions Group, Inc. Prime Solutions Group, Inc. (623) 853-0829 (623) 853-0829 [email protected] [email protected] Leung Chim Michael E. Pafford Defence Science & Technology Group Johns Hopkins University +61 (0) 8 7389 7908 (301) 935-5280 [email protected] [email protected] Copyright © 2018 by the authors. Published and used by INCOSE with permission. Abstract. In the 21st century, when any sophisticated system has significant software content, it is increasingly critical to articulate and improve the interface between systems engineering and software engineering, i.e., the relationships between systems and software engineering technical and management processes, products, tools, and outcomes. Although systems engineers and software engineers perform similar activities and use similar processes, their primary responsibilities and concerns differ. Systems engineers focus on the global aspects of a system. Their responsibilities span the lifecycle and involve ensuring the various elements of a system—e.g., hardware, software, firmware, engineering environments, and operational environments—work together to deliver capability. Software engineers also have responsibilities that span the lifecycle, but their focus is on activities to ensure the software satisfies software-relevant system requirements and constraints. Software engineers must maintain sufficient knowledge of the non-software elements of the systems that will execute their software, as well as the systems their software must interface with.
    [Show full text]
  • Infrastructure (Resilience-Oriented) Modelling Language: I®ML
    Infrastructure (Resilience-oriented) Modelling Language: I®ML A proposal for modelling infrastructures and their interconnections Andrés Silva, Roberto Filippini EUR 24727 EN - 2011 The mission of the JRC-IPSC is to provide research results and to support EU policy-makers in their effort towards global security and towards protection of European citizens from accidents, deliberate attacks, fraud and illegal actions against EU policies. European Commission Joint Research Centre Institute for the Protection and Security of the Citizen Contact information Address: TP 210, EC JRC Ispra, Ispra (Va) Italy E-mail: [email protected] Tel.: +39 0332 789936 Fax: http://ipsc.jrc.ec.europa.eu/ http://www.jrc.ec.europa.eu/ Legal Notice Neither the European Commission nor any person acting on behalf of the Commission is responsible for the use which might be made of this publication. Europe Direct is a service to help you find answers to your questions about the European Union Freephone number (*): 00 800 6 7 8 9 10 11 (*) Certain mobile telephone operators do not allow access to 00 800 numbers or these calls may be billed. A great deal of additional information on the European Union is available on the Internet. It can be accessed through the Europa server http://europa.eu/ JRC 63302 EUR 24727 EN ISBN 978-92-79-19324-8 ISSN 1018-5593 doi:10.2788/54708 Luxembourg: Publications Office of the European Union © European Union, 2011 Reproduction is authorised provided the source is acknowledged Printed in Italy Infrastructure (Resilience-oriented) Modelling Language: I®ML A proposal for modelling infrastructures and their connections Andrés Silva1 Roberto Filippini Universidad Politécnica de Madrid JRC of the European Commission Abstract The modelling of critical infrastructures (CIs) is an important issue that needs to be properly addressed, for several reasons.
    [Show full text]
  • IS2018 Book of Abstract
    th Annual INCOSE 28 international symposium Washington, DC, USA July 7 - 12, 2018 Delivering Systems in the Age of Globalization Status as of May 15 th , 2018 Book of Abstract Table of contents keynotes ............................................................................................................................................................................... p. 7 keynotes#Keynote#2: The Big Shift: Innovation and Systems Engineering ................................................................ p. 7 Papers .................................................................................................................................................................................. p. 8 Papers#107: A Framework for Concept and its Testing on Patents ............................................................................ p. 8 Papers#75: A Framework for Testability Analysis from System Architecture Perspective .......................................... p. 9 Papers#128: A Framework for Understanding Systems Principles and Methods .......................................................p. 10 Papers#31: A fresh look at Systems Engineering - what is it, how should it work? .....................................................p. 11 Papers#35: A Hybrid Liver-Candidate Transportation System to Improve Accessibility and Extend Organ Life in L ..p. 12 Papers#55: A Novel “Resilience Viewpoint” to aid in Engineering Resilience in Systems of Systems (SoS) .............p. 13 Papers#97: A successful use of systems approaches in
    [Show full text]
  • Model for Safety Case Modeling and Documentation
    SAFE – an ITEA2 project D3.1.3 Contract number: ITEA2 – 10039 Safe Automotive soFtware architEcture (SAFE) ITEA Roadmap application domains: Major: Services, Systems & Software Creation Minor: Society ITEA Roadmap technology categories: Major: Systems Engineering & Software Engineering Minor 1: Engineering Process Support WP3 Deliverable D3.1.3: Proposal for extension of Meta- model for safety case modeling and documentation Due date of deliverable: 31/03/2013 Actual submission date: 28/03/2013 Start date of the project: 01/07/2011 Duration: 36 months Project coordinator name: Stefan Voget Organization name of lead contractor for this deliverable: fortiss Editor: Maged Khalil (fortiss GmbH) Contributors: Maged Khalil (fortiss GmbH), Eduard Metzker (Vector Informatik GmbH) Reviewers: Eduard Metzker (Vector Informatik GmbH) 2013 The SAFE Consortium 1 (50) SAFE – an ITEA2 project D3.1.3 Revision chart and history log Version Date Reason 0.1 2012-09-19 Initialization of document 0.2 2012-10-18 Input to Introduction Section 4 0.3 2012-11-07 Input to Overview on ISO Section 5 0.4 2012-11-16 Input to EAST-ADL Overview Section 7 0.5 2012-11-16 Input to Overview on ISO Section 5 0.6 2012-11-23 Input to Methodology Section 6 0.7 2012-11-29 Further Input to Methodology Section 6 0.8 2012-12-20 Editing and Input in various sections 0.9 2013-02-13 Input to SAFE Meta-model Contribution Section 8 0.10 2013-02-15 Introduction of Patterns Section 6.3 0.11 2013-03-08 Editing and Input in various sections 0.12 2013-03-24 First version ready for review 0.13 2013-03-26 Incorporation of first review comments 0.14 2013-03-27 Updated version reviewed.
    [Show full text]
  • Systems Theoretic Process Analysis (STPA): a Bibliometric and Patents Analysis
    ORIGINAL ARTICLE Systems Theoretic Process Analysis (STPA): a bibliometric and patents analysis Modelo teórico - Sistêmico de Análise de Processos (STPA): uma análise bibliométrica e de patentes Sarah Francisca De Souza Borges1 , Marco Antônio Fontoura De Albuquerque1 , Moacyr Machado Cardoso Junior1 , Mischel Carmen Neyra Belderrain1 , Luís Eduardo Loures Da Costa1 1Área de Gestão Tecnológica do Programa de Ciências e Tecnologias Espaciais – CTE/G, Instituto Tecnológico De Aeronáutica - ITA, São José dos Campos, SP, Brasil. E-mail: [email protected]; [email protected]; [email protected]; [email protected]; [email protected] How to cite: Borges, S. F. S., Albuquerque, M. A. F., Cardoso Junior, M. M., Belderrain, M. C. N. & Costa, L. E. L. (2021). Systems Theoretic Process Analysis (STPA): a bibliometric and patents analysis. Gestão & Produção, 28(2), e5073. https://doi.org/10.1590/1806-9649-2020v28e5073 Abstract: The Systemic Theoretical Process Analysis (STPA) model is used for hazard analysis and accident prevention, based on systemic thinking and the identification of causal scenarios, created by Professor Nancy Leveson of the Institute of Technology of Massachusetts (MIT). The purpose of this article is to perform a bibliometric and patent analysis of the STPA model. Since bibliometry is an important tool in the analysis of scientific production, this method is used as a descriptive statistic, for the purposes of this study, the concepts of Goffman's Epidemic Theory were highlighted, under a mainly qualitative analysis, for a study of decline and ascent scientific method. For the bibliometric analysis, the main page of Professor Nancy Leveson was used in MIT's Web site, besides the Web of Science, Mendeley, ResearchGate, Village of Engineering and Scientific Electronic Library Online (SciELO).
    [Show full text]
  • Manuscript Instructions/Template
    Safety Analysis in Early Concept Development and Requirements Generation1 Nancy G. Leveson Massachusetts Institute of Technology 77 Massachusetts Ave, Cambridge MA 02139 617-258-0505 http://[email protected] [email protected] Copyright © 2018 by Nancy G. Leveson. Published and used by INCOSE with permission. Abstract. This paper shows how a new hazard analysis technique, STPA (System Theoretic Process Analysis), can be used to generate high-level safety requirements early in the concept development phase that can then assist in the design of the system architecture. These general, system-level requirements can be refined using STPA as decisions are made. The process goes hand-in-hand with design and the rest of the lifecycle as STPA can be used to provide information to assist in decision- making throughout the development and even operations phases. STPA also fits into a model-based engineering process as it works on a model of the system (which is also refined as design decisions are made) although that model is different than the architectural models usually proposed for model- based system engineering today. The process promotes traceability throughout the development process so decisions and designs can be changed with minimum requirements for redoing previous analyses. Finally, while this paper describes the approach with respect to safety, it can be applied to any emergent system property. Early Concept Exploration and Development Early concept development, shown at the top left of the V-model (Figure 1), is the first step in the usual system engineering process. While the label may differ in variants of the model, this stage includes such activities as stakeholder and user analysis (needs analysis), customer requirements generation, regulatory requirements review, feasibility studies, concept and tradespace exploration, and establishment of criteria for evaluation of the evolving and final design.
    [Show full text]
  • Download from an Unknown Website Cannot Be Said to Be ‘Safe’ Just Because It Happens Not to Harbor a Virus
    A direct path to dependable software The MIT Faculty has made this article openly available. Please share how this access benefits you. Your story matters. Citation Jackson, Daniel. “A direct path to dependable software.” Commun. ACM 52.4 (2009): 78-88. As Published http://dx.doi.org/10.1145/1498765.1498787 Publisher Association for Computing Machinery Version Author's final manuscript Citable link http://hdl.handle.net/1721.1/51683 Terms of Use Attribution-Noncommercial-Share Alike 3.0 Unported Detailed Terms http://creativecommons.org/licenses/by-nc-sa/3.0/ A Direct Path To Dependable Software Daniel Jackson Computer Science and Artificial Intelligence Laboratory Massachusetts Institute of Technology What would it take to make software more dependable? Until now, most approaches have been indirect: some practices – processes, tools or techniques – are used that are believed to yield dependable software, and the argument for dependability rests on the extent to which the developers have adhered to them. This article argues instead that developers should produce direct evidence that the software satisfies its dependability claims. The potential advantages of this approach are greater credibility (since the ar- gument is not contingent on the effectiveness of the practices) and reduced cost (since development resources can be focused where they have the most impact). 1 Why We Need Better Evidence Is a system that never fails dependable? Not necessarily. A dependable system is one you can depend on – that is, in which you can place your reliance or trust. A rational person or organization only does this with evidence that the system’s benefits outweigh its risks.
    [Show full text]
  • Machine Learning Testing: Survey, Landscapes and Horizons
    1 Machine Learning Testing: Survey, Landscapes and Horizons Jie M. Zhang*, Mark Harman, Lei Ma, Yang Liu Abstract—This paper provides a comprehensive survey of techniques for testing machine learning systems; Machine Learning Testing (ML testing) research. It covers 144 papers on testing properties (e.g., correctness, robustness, and fairness), testing components (e.g., the data, learning program, and framework), testing workflow (e.g., test generation and test evaluation), and application scenarios (e.g., autonomous driving, machine translation). The paper also analyses trends concerning datasets, research trends, and research focus, concluding with research challenges and promising research directions in ML testing. Index Terms—machine learning, software testing, deep neural network, F 1 INTRODUCTION The prevalent applications of machine learning arouse inherently follows a data-driven programming paradigm, natural concerns about trustworthiness. Safety-critical ap- where the decision logic is obtained via a training procedure plications such as self-driving systems [1], [2] and medical from training data under the machine learning algorithm’s treatments [3], increase the importance of behaviour relating architecture [8]. The model’s behaviour may evolve over to correctness, robustness, privacy, efficiency and fairness. time, in response to the frequent provision of new data [8]. Software testing refers to any activity that aims to detect While this is also true of traditional software systems, the the differences between existing and required behaviour [4]. core underlying behaviour of a traditional system does not With the recent rapid rise in interest and activity, testing typically change in response to new data, in the way that a has been demonstrated to be an effective way to expose machine learning system can.
    [Show full text]
  • Decision Procedures for Algebraic Data Types With
    Synthesis, Analysis, and Verification Lecture 01 Introduction, Overview, Logistics Lectures: Viktor Kuncak Exercises and Labs: Eva Darulová Giuliano Losa Monday, 21 February 2011 and 22 February 2011 Today Introduction and overview of topics – Analysis and Verification – Synthesis Course organization and grading SAV in One Slide We study how to build software analysis, verification, and synthesis tools that automatically answer questions about software systems. We cover theory and tool building through lectures, exercises, and labs. Grade is based on – quizzes – home works (theory and programming) – a mini project, presented in the class Steps in Developing Tools Modeling: establish precise mathematical meaning for: software, environment, and questions of interest – discrete mathematics, mathematical logic, algebra Formalization: formalize this meaning using appropriate representation of programming languages and specification languages – program analysis, compilers, theory of formal languages, formal methods Designing algorithms: derive algorithms that manipulate such formal objects - key technical step – algorithms, dataflow analysis, abstract interpretation, decision procedures, constraint solving (e.g. SAT), theorem proving Experimental evaluation: implement these algorithms and apply them to software systems – developing and using tools and infrastructures, learning lessons to improve and repeat previous steps Comparison to other Sciences Like science we model a part of reality (software systems and their environment) by introducing
    [Show full text]
  • Class Invariants: Concepts, Problems and Solutions
    Class invariants: concepts, problems and solutions Bertrand Meyer Draft 4, 22 May 2021 Groucho: That’s in every contract. That’s what they call a sanity clause. Chico: Haha! You can’t fool me. There ain’t no sanity clause. From [19] Abstract Class invariants are both a core concept of object-oriented programming and the source of the two key open OO verification problems: furtive access (particularly from callbacks) and reference leak (from aliasing). Existing approaches force on programmers an unacceptable annotation burden. This article explainfps the concept of invariant and solves both problems modularly through the O-rule, defining fundamental OO semantics, and the inhibition rule, using information hiding to remove harmful reference leaks. It also introduces the concept of tribe as a basis for other possible approaches. For all readers: this article is long because it includes a tutorial, covers many examples and dispels misconceptions. To understand the key ideas and results, however, the first page-and-a-half (section 1) suffices. For non-experts in verification: all concepts are explained; anyone with a basic understanding of object-oriented programming can understand the discussion. For experts: the main limitation of this work is that it is a paper proposal (no soundness proof, no implementation). It addresses, however, the known problems with class invariants, solving such examples as linked lists and the Observer pattern, through a simple theory and without any of the following: ownership; separation logic; universe types [34]; object wrapping and unwrapping [15]; semantic collaboration, observer specifications [39, 40]; history invariants [17]; “inc” and “coop” constructs [31]; friendship construct [3]; non-modular reasoning [25].
    [Show full text]
  • Towards Null Safety Benchmarks for Object Initialization
    Моделирование и анализ информационных систем. Т. 24, № 6 (2017), с. 718–729 Modeling and Analysis of Information Systems. Vol. 24, No 6 (2017), pp. 718–729 ○c Kogtenkov A. V., 2017 DOI: 10.18255/1818-1015-2017-6-718-729 UDC 004.052.42, 004.4’6, 004.423.42, 004.432.2, 004.438 Eiffel, 519.681.2, 519.682.1 Towards Null Safety Benchmarks for Object Initialization Kogtenkov A. V. Received September 11, 2017 Abstract. Null pointer dereferencing remains one of the major issues in modern object-oriented languages. An obvious addition of keywords to distinguish between never null and possibly null references appears to be insufficient during object initialization when some fields declared as never nullmaybe temporary null before the initialization completes. This work identifies the key reasons of the object initialization problem. It suggests scenarios and metrics to be used as the benchmarks to compare solutions of this problem. Finally, it demonstrates application of the benchmarks on the proposed solution for object initialization in Eiffel. The article is published in the author’s wording. Keywords: null pointer dereferencing, null safety, void safety, object initialization, static analysis, null safety benchmarks For citation: Kogtenkov A. V., “Towards Null Safety Benchmarks for Object Initialization”, Modeling and Analysis of Information Systems, 24:6 (2017), 718–729. On the author: Alexander V. Kogtenkov, orcid.org/0000-0003-4873-8306, Doctor of Sciences ETH Zurich Independent scientist, Podolsk, Russia, e-mail: [email protected] address for correspondence: MAIS, 14 Sovetskaya str., Yaroslavl, 150003 Russia 1. Introduction Null pointer dereferencing remains one of the major day-to-day issues in software industry.
    [Show full text]