CS2125 Paper Review Form - Winter 2018 Reviewer: Lobna Abuserrieh Paper Title: Assurance Based development of critical systems Author(s): Patrick J. Graydon, John C. Knight, Elisabeth A. Strunk 1) Is the paper technically correct? [X] Yes [ ] Mostly (minor flaws, but mostly solid) [ ] No 2) Originality [ ] Very good (very novel, trailblazing work) [X] Good [ ] Marginal (very incremental) [ ] Poor (little or nothing that is new) 3) Technical Depth [ ] Very good (comparable to best conference papers) [ ] Good (comparable to typical conference papers) [X] Marginal depth [ ] Little or no depth 4) Impact/Significance [ ] Very significant [ ] Significant [X] Marginal significance. [ ] Little or no significance. 5) Presentation [X] Very well written [ ] Generally well written [ ] Readable [ ] Needs considerable work [ ] Unacceptably bad 6) Overall Rating [ ] Strong accept (award quality) [X] Accept (high quality - would argue for acceptance) [ ] Weak Accept (borderline, but lean towards acceptance) [ ] Weak Reject (not sure why this paper was published) 7) Summary of the paper's main contribution and rationale for your recommendation. (1-2 paragraphs) The paper explains how to combine systems development and it assurance to address dependability goals in order to facilitate the detection and avoidance of potential assurance difficulties throughout the development rather than after the development completion. An Evidence to be generated in each development step, to support the assurance case; The assurance case helps the developers to make decision choice on how to build the best fit for the intended goals. The authors simplify the form of an assurance case to have 3 elements: The assurance goal, the evidence, and the way in which the evidence is used to justify the goal. The basic structure is a hierarchic structure and the evidence in any level is a goal in its next lower level. And during the progress of the development; goals are addressed by evidence of the developmental work itself or by an evidence of a subgoal. For each assurance case in ABD ; developers repeatedly check the unsatisfied goals, select one, make a developmental decision to address the goal, then modify the developmental artifact along with the assurance case. The process is repeated until the developers have no more unaddressed goals. Choosing a suitable development choice can be done based on 7 criteria: Functionality, Subsequent restrictions, dependability, cost, feasibility, standards, and additional any non-functional requirements. 8) List 1-3 strengths of the paper. (1-2 sentences each, identified as S1, S2, S3.) S1: Well written paper that clearly identifies the assumptions which are the availability of all the system's requirements, and the availability of a description for the given architecture. S2: proposing using patterns as a solution shorten the list of a large number of the development choices even if they left it as a future work. S3: The authors demonstrate many examples to simplify the understanding; Such as ABS and Safety cases; In addition to illustrating a RSM example to explain the steps of developing a system using ABD. 9) List 1-3 weaknesses of the paper (1-2 sentences each, identified as W1, W2, W3.) W1: When trying to find out more choices, some choices may introduce new goals as mentioned, the authors did not go in details how to deal with this issue. W2: The paper represents the ABD of critical systems development. Although there are some other developmental approaches which support critical systems development and testing, considering the system's critical qualities, it could be a good addition if the author added how the ABD differs.