Contents 1 Program Refinement 1 2 Loop Design 11 3 Fault Avoidance , or Preventing

نویسندگان

  • Lawrence C Paulson
  • Lawrence C. Paulson
چکیده

I Software Engineering II 1 Engineering, as it is properly understood, is not possible for software. An engineer can design a bridge, confident that it will meet its requirements when built. Our theory and tools are not yet good enough to let us build software to this standard of reliability. This course has less ambitious goals. It introduces methods for designing software systematically. It also introduces the emerging theory that may one day make Software Engineering a reality. No textbooks follow this course at all closely. Fundamentals of Software Engineering [7] is similar in spirit and has more content than much larger books. ML for the Working Programmer [12] covers structural induction, used in the last lecture. No past examination questions on Software Engineering are relevant. For the last lecture, try 1993 Paper 2 question 8. There are many exercises below that you can use during revision. Please inform me of errors; I'll acknowledge all corrections.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Loop Transformations for Fault

Distributed-memory systems can incorporate thousands of processors at a reasonable cost. However, with an increasing number of processors in a system, fault detection and fault tolerance become critical issues. By replicating the computation on more than one processor and comparing the results produced by these processors, errors can be detected. During the execution of a program, due to data d...

متن کامل

Error assessment in man-machine systems using the CREAM method and human-in-the-loop fault tree analysis

Background and Objectives: Despite contribution to catastrophic accidents, human errors have been generally ignored in the design of human-machine (HM) systems and the determination of the level of automation (LOA). This paper aims to develop a method to estimate the level of automation in the early stage of the design phase considering both human and machine performance. Methods: A quantita...

متن کامل

Path-Based Program Repair

We propose a path-based approach to program repair for imperative programs. Our repair framework takes as input a faulty program, a logic specification that is refuted, and a hint where the fault may be located. An iterative abstraction refinement loop is then used to repair the program: in each iteration, the faulty program part is re-synthesized considering a symbolic counterexample, where th...

متن کامل

Convergence Refinement

Refinement tools such as compilers do not necessarily preserve fault-tolerance. That is, given a fault-tolerant program in a high-level language as input, the output of a compiler in a lower-level language will not necessarily be faulttolerant. In this paper, we identify a type of refinement, namely “convergence refinement”, that preserves the faulttolerance property of stabilization. We illust...

متن کامل

Error Detection by Diverse Data and Duplicated Instructions

Errors in computer systems can cause abnormal behavior and degrade data integrity and system availability. Fault avoidance techniques such as radiation hardening and shielding have been the major approaches to protecting the system from transient errors, but these techniques are expensive. Recently, unhardened Commercial Off-The-Shelf (COTS) components have been investigated for a low cost alte...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 1999