Software Fault Avoidance
|
|
|
- Shanna Boone
- 9 years ago
- Views:
Transcription
1 Software Fault Avoidance Goutam Kumar Saha Senior Member IEEE All software faults are basically design faults. Correct specification and correct implementation are must in order to produce correct software. Software fault avoidance aims to produce fault free software through various approaches having the common objective of reducing the number of latent defects in software programs. Software fault avoidance approaches include: formal or precise specification practices, programming disciplines like information hiding and encapsulation, extensive and repetitive reviews and formal analyses during the development process, and of course, rigorous testing. In other words, software fault avoidance approaches include verification & validation, software testing, and proof methodology. Rigorous development process (standard development processes, capability maturity model), strongly typed languages, comprehensive standards, support tools and highly trained manpower and formal methods are the key factors to software fault avoidance. Formal methods are fault avoidance techniques that aim to increase dependability by eliminating errors at the requirements specification and design stages of development. Formal specifications use formal language with mathematical semantics. Mathematical semantics make analysis related to syntax checking, type checking possible. Formal specifications help in software design, code refinement, and proof correctness by construction. Formal or semiformal specifications and programming are useful to show how the codes agree to the specifications and they force us to program more simply and more clearly. As a result, many defects are eliminated. Verification uncovers additional defects and encourages careful examination of the program for efficiency and other quality aspects. Software testing aims to compensate for human fallibility and to unveil program bugs. A test normally shows the presence of faults, not their absence. Bernstein points out, Typically, testing alone cannot fully verify that software is complete and correct. In addition to testing, other verification techniques and a structured and documented development process must be combined to assure a comprehensive validation approach. IBM s Cleanroom Software Engineering methods aim toward Zero-Defect Programming and these methods are also applicable to three key areas of software development: software specification, verification and testing. Fault avoidance aims to prevent faults from occurring in the operational system. It limits introduction of faults during system construction. It includes fault prevention, fault removal, and fault forecasting. Fault prevention attempts to eliminate any possibility of faults creeping into a system before it goes operational. Fault removal attempts to find and remove the causes of errors.
2 Thus, fault avoidance helps to improve the quality of both the components and the systems. Approaches for software fault avoidance include a set of methods and techniques intended both to reduce the presence and to avoid the introduction of faults (in number and severity). When designing dependable systems we must deal with dependability issues from the beginning by addressing fault-tolerance mechanisms within the system design and by employing appropriate fault-avoidance approaches in the design process. Adding dependability later on could be both expensive and might be not as effective as designing it in from the beginning. Issues in fault-avoidance research are inseparable from considerations of faulttolerance research. Primary objective of fault avoidance is to limit introduction of faults during system construction. In other words, Fault avoidance technique tries to reduce the probability of fault occurrence, while fault tolerance technique tries to keep the system operational despite the presence of faults. Because complete fault avoidance or elimination is not possible, a critical system always employs fault tolerance techniques to guarantee high system reliability and availability as fault tolerance tries to compensate for, and to protect against, the impacts of faults during system operation. Though software does not deteriorate (by itself) with use but often much more complex than hardware counter parts and at the same time, it is virtually impossible to design fault free software. We may think it as banana software approach, which ripens at the customer. For real time system, software fault avoidance is not an option. We can improve software by rigorous (if not formal) specification of requirements and by using proven design methodologies along with the use of languages with data abstraction & modularity. At the same time, we must use software engineering environments in order to manage complexity. Software fault tolerance methods include: exception handling, watchdog timers, assertions, acceptability checks, reasonableness checks, design diversity, and data diversity. Researchers agree that all software faults are design faults. Fault elimination and fault prevention are parts of fault avoidance. Fault forecasting includes a set of methods and techniques that intend to estimate the presence, the creation, and the consequences of faults. Fault prevention attempts to eliminate any possibility of faults creeping into a system before it goes operational. Fault removal aims to find and remove the causes of errors. Fault prevention can be attained by quality control techniques employed during the design and manufacturing of hardware and software. They include structured programming, information hiding, modularization, etc., for software, and rigorous design rules for hardware. Shielding, radiation hardening etc, are useful to prevent operational physical faults. Training, rigorous procedures for maintenance, foolproof packages prevent interaction faults. Firewalls and similar defenses prevent malicious faults. We understand that fault avoidance, fault removal and fault tolerance represent three successive lines of defense against the contingency of faults in software systems and their impact on system reliability. Software Fault Avoidance Rules: The following software fault avoidance rules, as suggested by Lyu, should be followed regardless of the type of installed software- structure: All requirements should be specified and analyzed with
3 formal methods, Specification- document should be debugged and stabilized before the development of any components (for example by developing final code prototypes), A protocol should exist in order to know and solve the problems. This protocol should contain measures ensuring independence in development and should not introduce correlated faults such as, e.g., communication errors, common lack of knowledge, or exchanges of erroneous information among the various development teams, All the verification, validation and the test (VVT) should be formalized and should show absence of correlated faults, and All the specifications, design and the code should be tested thoroughly. Lambert et al, [1993] points out, In practice, the software development process is error prone, i.e., software fault avoidance and software fault removal methods are far from perfect. Development faults can be avoided using formal methods (particularly methods with a mathematical basis) during the various phases of the software life cycle. However, the application of mathematical methods for a complete operational telecommunication system is not feasible within the next five to ten years. It is expected however that most faults can be avoided using specification languages and modeling and simulation during the requirements and specification phases. In spite of all formal specifications, testing and verification techniques of fault avoidance approaches, we often observe that a system fails when hardware components fail or environment changes or because of latent defects. In order to avoid faults caused by environment changes or to avoid failure due to latent defects, we need to employ robust design concepts along with the fault avoidance methods while designing a dependable software system. We find that fault avoidance approaches rarely treat various environmental and other faults. It is also true that design for reliability is rarely taught to Computer Science majors. Bernstein points out, Software faults are common for the simple reason that the complexity in modern systems is often pushed into the software part of the system. Then the software is pushed to and beyond its limits. It is estimated that 60-90% of current computer errors are from software faults. [Gray91] Software faults may also be triggered from hardware; these faults are usually transitory in nature, and can be masked using a combination of current software and hardware fault tolerance techniques. As software fault tolerance is often measured in terms of system availability, which is a function of reliability, we should include various single version (SV) software- based approaches of fault tolerance for more effective software fault avoidance in order to combat latent defects, environment and operational faults for attaining higher system dependability. Software based approaches often rely on either static redundancy or dynamic redundancy. By static redundancy, we mean the redundancy inside a system for hiding effects of faults whereas, by dynamic redundancy, we mean the redundancy supplied inside a module that catches erroneous output or that provides an error detection facility along with possibly an error recovery module. We also need voting modules. Voting is the process to merge the outputs of redundant modules. Masking redundancy is also useful for masking errors from application software. In masking redundancy, a few processors run the same program and vote to identify errors in any single processor. No software rollback is needed here to fix errors. We might use software implemented fault tolerance (SIFT) or an approach to fault tolerant multi-processor. Again, the algorithm-based fault tolerance (ABFT) approach that refers to a self-contained method for detecting, locating, and correcting
4 errors with a software procedure, is also useful. The single version softwarebased approaches include software implemented control flow error checking, error masking, fault recovery, error detection and correction and so on by using necessary replicated data or code, assertions, time or space redundancy etc. Such techniques normally rely on enhanced single version programming (ESVP) schemes that are based on single robust design only. ESVP is a low-cost solution. Whereas, an N-version programming (NVP) scheme that relies on design diversity is suitable for tolerating software design bugs. For higher system dependability, we might go for a hybrid approach that relies on both the NVP and ESVP approaches. In this hybrid approach, each software version of an NVP application is based on an appropriate single version programming (SVP) or ESVP scheme. Such hybrid software design approach would be a useful tool toward better software fault avoidance and this technique aims designing a system with high reliability. Further Reading: Goutam Kumar Saha, Software Based Fault Tolerance a Survey, ACM Ubiquity, Vol. 7(25), July, 2006, ACM Press, USA. URL: Goutam Kumar Saha, Software Fault Avoidance Issues, ACM Ubiquity, Vol. 7(46), November 2006, ACM Press, USA. Goutam Kumar Saha, Control Flow Check Based Fault Tolerant Computing, International Journal of Computing and Information Technology, Vol.3(1), Reliability, Maintainability, and Availability (RMA) Handbook, FAA-HDBK-006, Charles B. Weinstock, David P. Gluch, A Perspective on the State of Research in Fault -Tolerant Systems, June 1997, CMU/SEI-97-SR-008. Philippe Charpentier, Final Report of WP 1.2, INRS, European Project STSARCES Contract SMT 4CT Jie Xu, Brian Randell, Software Fault Tolerance: t l (n - 1)-Variant Programming, IEEE Transactions on Reliability, Vol. 46, No. 1, 1997 March. J. P. Bowen, V. Stavridou, Formal Methods and Software Safety, Allan M. Stavely, Toward Zero-Defect Programming, Addison Wesley Longman, Michael Huth and Mark Ryan, Logic in Computer Science: Modelling and Reasoning about Systems, Cambridge University Press, P.P. Shirvani, E.J. McCluskey, Fault-Tolerant Systems in a Space Environment: The CRC ARGOS Project, CRCTR 98-2, Stanford University, Stanford, CA, Dec John C. Knight, Software Fault, (Lecture series), R.V. Hamxleden, Achieving Dependability, (Lecture series on Distributed Real Time Systems), Mili, B. Cukic, T. Xia, R. Ben Ayed, Combining Fault Avoidance, Fault Removal and Fault Tolerance: An Integrated Model. URL: Lambert J.M. Nieuwenhuis, Howard Sewberath Misser, Ian Hawker, Stephen S. Donachie, Mauro Ravera and Stefan Balzaretti, Reliability Engineering for Future Telecommunication Networks and Services, IEEE, URL: ieeexplore.ieee.org/iel2/1047/7666/ pdf?arnumber= Algirdas Aviz ienis, Jean-Claude Laprie and Brian Randell, Fundamental Concepts of Dependability, Research Report N01145, LAAS-CNRS, April 2001.
5 Larry Bernstein, Software Fault Tolerance Forestalls Crashes: to Err is Human; to Forgive is Fault Tolerant, Advances in Computers, Vol. 58, Highly Dependable Software, edited by Marvin Zelkowitz, Academic Press, ISBN , pp , M. R. Lyu, Software Fault Tolerance, Chichester, England: John Wiley and Sons, Inc., M. R. Lyu, Handbook of Software Fault Tolerance, ISBN , E. M. Gray and R. H. Thayer, Requirements in Aerospace Software Engineering, A Collection of Concepts, Ed. C. Anderson and M. Dorfman. Washington: AIAA, J.C. Laprie, Dependable computing: concepts, limits, challenges, In Proc. 25th IEEE Int. Symp. Fault-Tolerant Computing - Special Issue, Pasadena, CA, Goutam Kumar Saha, Software Implemented Fault Tolerance Through Data Error Recovery, ACM Ubiquity, Vol. 6(35), September 2005, ACM Press, USA. URL: Goutam Kumar Saha, Software Based Fault Tolerant Computing, ACM Ubiquity, Vol. 6(40), November 2005, ACM Press, USA. URL: Goutam Kumar Saha, "Low-Cost, Fault Tolerance Applications," IEEE Potentials, Vol. 24(4), pp.35-39, 2005, IEEE Press, USA. Goutam Kumar Saha, "Software Based Fault Tolerant Array," IEEE Potentials, Vol. 25(1), pp.41-45, Jan-Feb, 2006, IEEE Press, USA. Goutam Kumar Saha, Transient Fault Tolerance Through Algorithms, IEEE Potentials, Vol. 25(5), pp , Sep-Oct 2006, IEEE Press, USA. Goutam Kumar Saha, "Software Implemented Fault Tolerance - The ESVP Approach," ACM Ubiquity, Vol. 7 (31), August 2006, ACM Press, USA. URL: R.V. Hanxleden, WS 2001/02 Distributed Real-Time Systems- Approaches to Achieving Reliable Systems, Lecture-15, F. R. Harnden, F.A. Primini, H.E. Payne eds. Software Fault Tolerance for Low to Moderate Radiation Environments, Proc. Astronomical Data Analysis Software and Systems, Vol.238, 2001.
Embedded Systems Lecture 9: Reliability & Fault Tolerance. Björn Franke University of Edinburgh
Embedded Systems Lecture 9: Reliability & Fault Tolerance Björn Franke University of Edinburgh Overview Definitions System Reliability Fault Tolerance Sources and Detection of Errors Stage Error Sources
Multiagent Reputation Management to Achieve Robust Software Using Redundancy
Multiagent Reputation Management to Achieve Robust Software Using Redundancy Rajesh Turlapati and Michael N. Huhns Center for Information Technology, University of South Carolina Columbia, SC 29208 {turlapat,huhns}@engr.sc.edu
Optimization of Software Quality using Management and Technical Review Techniques
Optimization of Software Quality using Management and Technical Review Techniques Inibehe Emmanuel Akpannah Post Graduate Student (MSc. Information Technology), SRM University, Chennai, India Abstract
6306 Advanced Operating Systems
6306 Advanced Operating Systems Instructor : Dr. Mohan Kumar Room : 315 NH [email protected] Class : TTh 7-8:20PM Office Hours : TTh1-3 PM GTA : Byung Sung [email protected] Kumar CSE@UTA 1 All email messages
Software Engineering Tools and Methods
Software Engineering Tools and Methods Fernando Brito e Abreu ([email protected]) Universidade Nova de Lisboa (http://www.unl.pt) QUASAR Research Group (http://ctp.di.fct.unl.pt/quasar) SWEBOK: the 10
Regression Testing Based on Comparing Fault Detection by multi criteria before prioritization and after prioritization
Regression Testing Based on Comparing Fault Detection by multi criteria before prioritization and after prioritization KanwalpreetKaur #, Satwinder Singh * #Research Scholar, Dept of Computer Science and
Software Health Management An Introduction. Gabor Karsai Vanderbilt University/ISIS
Software Health Management An Introduction Gabor Karsai Vanderbilt University/ISIS Tutorial at PHM 2009 Outline Definitions Backgrounds Approaches Summary Definitions Software Health Management: A branch
TEACHING MODEL CHECKING TO UNDERGRADUATES
STUDIA UNIV. BABEŞ BOLYAI, INFORMATICA, Volume LV, Number 3, 2010 TEACHING MODEL CHECKING TO UNDERGRADUATES A.VESCAN AND M. FRENŢIU Abstract. The way program verification is taught in our faculty is firstly
Overview Motivating Examples Interleaving Model Semantics of Correctness Testing, Debugging, and Verification
Introduction Overview Motivating Examples Interleaving Model Semantics of Correctness Testing, Debugging, and Verification Advanced Topics in Software Engineering 1 Concurrent Programs Characterized by
Service-oriented architectures (SOAs) support
C o v e r f e a t u r e On Testing and Evaluating Service-Oriented Software WT Tsai, Xinyu Zhou, and Yinong Chen, Arizona State University Xiaoying Bai, Tsinghua University, China As service-oriented architecture
Static Analysis of Dynamic Properties - Automatic Program Verification to Prove the Absence of Dynamic Runtime Errors
Static Analysis of Dynamic Properties - Automatic Program Verification to Prove the Absence of Dynamic Runtime Errors Klaus Wissing PolySpace Technologies GmbH Argelsrieder Feld 22 82234 Wessling-Oberpfaffenhofen
The EMSX Platform. A Modular, Scalable, Efficient, Adaptable Platform to Manage Multi-technology Networks. A White Paper.
The EMSX Platform A Modular, Scalable, Efficient, Adaptable Platform to Manage Multi-technology Networks A White Paper November 2002 Abstract: The EMSX Platform is a set of components that together provide
FAULT TOLERANCE FOR MULTIPROCESSOR SYSTEMS VIA TIME REDUNDANT TASK SCHEDULING
FAULT TOLERANCE FOR MULTIPROCESSOR SYSTEMS VIA TIME REDUNDANT TASK SCHEDULING Hussain Al-Asaad and Alireza Sarvi Department of Electrical & Computer Engineering University of California Davis, CA, U.S.A.
Requirements engineering
Learning Unit 2 Requirements engineering Contents Introduction............................................... 21 2.1 Important concepts........................................ 21 2.1.1 Stakeholders and
The Theory of Software Testing
The Theory of Software Testing Adtha Lawanna Department of Information Technology, Faculty of Science and Technology Assumption University, Bangkok, Thailand E-mail: Abstract Software
Topics in Software Reliability
Dependable Software Systems Topics in Software Reliability Material drawn from [Somerville, Mancoridis] What is Software Reliability? A Formal Definition: Reliability is the probability of failure-free
Framework for Injecting the Attacks and Analyzing the Behaviour of Vulnerability on Server s
Framework for Injecting the Attacks and Analyzing the Behaviour of Vulnerability on Server s Panchamukesh Ch #1, Kumar.J *2, Neelima.S *3, Sailaja.D *4 #1 Department of CSE, HITAM, Gowdavally, Hyderabad,
Dependable software development. Programming techniques for building dependable software systems.
Dependable software development Programming techniques for building dependable software systems. Ian Sommerville 2000 Dependable Software Development Slide 1 Software dependability In general, software
Rigorous Software Development An introduction
Rigorous Software Development An introduction Simão Melo de Sousa RELEASE (UBI), LIACC (Porto), CCTC (Minho) Computer Science Department University of Beira Interior, Portugal October 2011 S. Melo de Sousa
Software Testing Interview Questions
Software Testing Interview Questions 1. What s the Software Testing? A set of activities conducted with the intent of finding errors in software. 2.What is Acceptance Testing? Testing conducted to enable
INTRUSION DETECTION ON CLOUD APPLICATIONS
Available Online at www.ijcsmc.com International Journal of Computer Science and Mobile Computing A Monthly Journal of Computer Science and Information Technology IJCSMC, Vol. 2, Issue. 9, September 2013,
II. TYPES OF LEVEL A.
Study and Evaluation for Quality Improvement of Object Oriented System at Various Layers of Object Oriented Matrices N. A. Nemade 1, D. D. Patil 2, N. V. Ingale 3 Assist. Prof. SSGBCOET Bhusawal 1, H.O.D.
SECURE AND TRUSTY STORAGE SERVICES IN CLOUD COMPUTING
SECURE AND TRUSTY STORAGE SERVICES IN CLOUD COMPUTING Saranya.V 1, Suganthi.J 2, R.G. Suresh Kumar 3 1,2 Master of Technology, Department of Computer Science and Engineering, Rajiv Gandhi College of Engineering
Evaluation of Web Security Mechanisms Using Inline Scenario & Online Scenario
Evaluation of Web Security Mechanisms Using Inline Scenario & Online Scenario M. Durai Ganesh (Research Scholars) Information Technology, St. Peter s University, Chennai- 54, Tamil Nadu, India Dr. G.Gunasekaran,
Project description. Power Electronics for Reliable and Energy efficient Renewable Energy Systems
Project description Title: Power Electronics for Reliable and Energy efficient Renewable Energy Systems OBJECTIVES Principal objective Provide competence and decision basis for enabling reliable and energy
E-COCOMO: The Extended COst Constructive MOdel for Cleanroom Software Engineering
Database Systems Journal vol. IV, no. 4/2013 3 E-COCOMO: The Extended COst Constructive MOdel for Cleanroom Software Engineering Hitesh KUMAR SHARMA University of Petroleum and Energy Studies, India [email protected]
Workflow Automation and Management Services in Web 2.0: An Object-Based Approach to Distributed Workflow Enactment
Workflow Automation and Management Services in Web 2.0: An Object-Based Approach to Distributed Workflow Enactment Peter Y. Wu [email protected] Department of Computer & Information Systems Robert Morris University
Requirements engineering and quality attributes
Open Learning Universiteit Unit 2 Learning Unit 2 Requirements engineering and quality attributes Contents Introduction............................................... 21 2.1 Important concepts........................................
Lecture 9: Requirements Modelling
A little refresher: What are we modelling? Lecture 9: Requirements Modelling Requirements; Systems; Systems Thinking Role of Modelling in RE Why modelling is important Limitations of modelling Brief overview
Secure Data transfer in Cloud Storage Systems using Dynamic Tokens.
Secure Data transfer in Cloud Storage Systems using Dynamic Tokens. P.Srinivas *,K. Rajesh Kumar # M.Tech Student (CSE), Assoc. Professor *Department of Computer Science (CSE), Swarnandhra College of Engineering
Heisenbugs and Bohrbugs: Why are they different?
Heisenbugs and Bohrbugs: Why are they different? March 8, 2003 Abstract Jim Gray proposed a classification of bugs based on the type of failures they induce. Bohrbugs are bugs which always cause a failure
An Agent-Based Concept for Problem Management Systems to Enhance Reliability
An Agent-Based Concept for Problem Management Systems to Enhance Reliability H. Wang, N. Jazdi, P. Goehner A defective component in an industrial automation system affects only a limited number of sub
Model Checking based Software Verification
Model Checking based Software Verification 18.5-2006 Keijo Heljanko [email protected] Department of Computer Science and Engineering Helsinki University of Technology http://www.tcs.tkk.fi/~kepa/ 1/24
A Methodology for Safety Critical Software Systems Planning
A Methodology for Safety Critical Software Systems Planning EHAB SHAFEI 1, IBRAHIM F. MOAWAD 2, HANY SALLAM 1, ZAKI TAHA 3, MOSTAFA AREF 3 1 Operation Safety and Human Factors Department, 2 Information
How To Improve Software Quality
Software Quality and Standards Dr. James A. Bednar [email protected] http://homepages.inf.ed.ac.uk/jbednar Dr. David Robertson [email protected] http://www.inf.ed.ac.uk/ssp/members/dave.htm SEOC2 Spring
Best Practices for Verification, Validation, and Test in Model- Based Design
2008-01-1469 Best Practices for Verification, Validation, and in Model- Based Design Copyright 2008 The MathWorks, Inc. Brett Murphy, Amory Wakefield, and Jon Friedman The MathWorks, Inc. ABSTRACT Model-Based
Using Logs to Increase Availability in Real-Time. Tiina Niklander and Kimmo Raatikainen. University of Helsinki, Department of Computer Science
Using Logs to Increase Availability in Real-Time Main-Memory Tiina Niklander and Kimmo Raatikainen University of Helsinki, Department of Computer Science P.O. Box 26(Teollisuuskatu 23), FIN-14 University
Design of High Availability Systems & Software
HighAv - Version: 2 21 June 2016 Design of High Availability Systems & Software Design of High Availability Systems & Software HighAv - Version: 2 2 days Course Description: This course examines the high-level
A Robust Dynamic Load-balancing Scheme for Data Parallel Application on Message Passing Architecture
A Robust Dynamic Load-balancing Scheme for Data Parallel Application on Message Passing Architecture Yangsuk Kee Department of Computer Engineering Seoul National University Seoul, 151-742, Korea Soonhoi
Does function point analysis change with new approaches to software development? January 2013
Does function point analysis change with new approaches to software development? January 2013 Scope of this Report The information technology world is constantly changing with newer products, process models
Cloud Computing for Agent-based Traffic Management Systems
Cloud Computing for Agent-based Traffic Management Systems Manoj A Patil Asst.Prof. IT Dept. Khyamling A Parane Asst.Prof. CSE Dept. D. Rajesh Asst.Prof. IT Dept. ABSTRACT Increased traffic congestion
Software-based medical devices from defibrillators
C O V E R F E A T U R E Coping with Defective Software in Medical Devices Steven R. Rakitin Software Quality Consulting Inc. Embedding defective software in medical devices increases safety risks. Given
Verifying Semantic of System Composition for an Aspect-Oriented Approach
2012 International Conference on System Engineering and Modeling (ICSEM 2012) IPCSIT vol. 34 (2012) (2012) IACSIT Press, Singapore Verifying Semantic of System Composition for an Aspect-Oriented Approach
Test Specification. Introduction
Test Specification Introduction Goals and Objectives GameForge is a graphical tool used to aid in the design and creation of video games. A user with little or no experience with Microsoft DirectX and/or
Example Software Development Process.
Example Software Development Process. The example software development process is shown in Figure A. The boxes represent the software development process kernels. The Software Unit Testing, Software Component
Verification and Validation of Software Components and Component Based Software Systems
Chapter 5 29 Verification and Validation of Software Components and Component Based Christina Wallin Industrial Information Technology Software Engineering Processes ABB Corporate Research [email protected]
Comprehensive Static Analysis Using Polyspace Products. A Solution to Today s Embedded Software Verification Challenges WHITE PAPER
Comprehensive Static Analysis Using Polyspace Products A Solution to Today s Embedded Software Verification Challenges WHITE PAPER Introduction Verification of embedded software is a difficult task, made
INDEPENDENT VERIFICATION AND VALIDATION OF EMBEDDED SOFTWARE
PREFERRED RELIABILITY PRACTICES PRACTICE NO. PD-ED-1228 PAGE 1 OF 6 INDEPENDENT VERIFICATION AND VALIDATION OF EMBEDDED SOFTWARE Practice: To produce high quality, reliable software, use Independent Verification
The Overload Fault Tolerance Theory of Parallel Design
SIMULATION OF FAULT-TOLERANT SCHEDULING ON REAL-TIME MULTIPROCESSOR SYSTEMS USING PRIMARY BACKUP OVERLOADING Bindu Mirle and Albert M. K. Cheng Real-Time Systems Laboratory Department of Computer Science
1394 Bus Analyzers. Usage Analysis, Key Features and Cost Savings. Background. Usage Segmentation
1394 Bus Analyzers Usage Analysis, Key Features and Cost Savings By Dr. Michael Vonbank DapUSA Inc., and Dr. Kurt Böhringer, Hitex Development Tools GmbH Background When developing products based on complex
How To Improve Software Quality
Software Qualities Quality Assurance Maintainer Go Documentation Readable Ce Go Design Functionality Ease of use Ease of learning User Reliability Correctness Efficiency Low Cost Portability Increased
Failure Mode and Effect Analysis. Software Development is Different
Failure Mode and Effect Analysis Lecture 4-3 Software Failure Mode and Effects Analysis in Software Software Development, Pries, SAE Technical Paper 982816 Software Development is Different Process variation
An Introduction to. Metrics. used during. Software Development
An Introduction to Metrics used during Software Development Life Cycle www.softwaretestinggenius.com Page 1 of 10 Define the Metric Objectives You can t control what you can t measure. This is a quote
Real-Time Analysis of CDN in an Academic Institute: A Simulation Study
Journal of Algorithms & Computational Technology Vol. 6 No. 3 483 Real-Time Analysis of CDN in an Academic Institute: A Simulation Study N. Ramachandran * and P. Sivaprakasam + *Indian Institute of Management
Comparing Methods to Identify Defect Reports in a Change Management Database
Comparing Methods to Identify Defect Reports in a Change Management Database Elaine J. Weyuker, Thomas J. Ostrand AT&T Labs - Research 180 Park Avenue Florham Park, NJ 07932 (weyuker,ostrand)@research.att.com
Module 1: Introduction to Computer System and Network Validation
Module 1: Introduction to Computer System and Network Validation Module 1, Slide 1 What is Validation? Definition: Valid (Webster s Third New International Dictionary) Able to effect or accomplish what
Dynamic Resource Management Architecture Patterns
Dynamic Resource Architecture Patterns Lonnie R. Welch Toni Marinucci School of EECS Ohio University Athens, OH [email protected] [email protected] Michael W. Masters Paul V. Werme Naval Surface Warfare
Software Engineering. How does software fail? Terminology CS / COE 1530
Software Engineering CS / COE 1530 Testing How does software fail? Wrong requirement: not what the customer wants Missing requirement Requirement impossible to implement Faulty design Faulty code Improperly
Rigorous Methods for Software Engineering (F21RS1) High Integrity Software Development
Rigorous Methods for Software Engineering (F21RS1) High Integrity Software Development Andrew Ireland Department of Computer Science School of Mathematical and Computer Sciences Heriot-Watt University
Module 10. Coding and Testing. Version 2 CSE IIT, Kharagpur
Module 10 Coding and Testing Lesson 23 Code Review Specific Instructional Objectives At the end of this lesson the student would be able to: Identify the necessity of coding standards. Differentiate between
A Mind Map Based Framework for Automated Software Log File Analysis
2011 International Conference on Software and Computer Applications IPCSIT vol.9 (2011) (2011) IACSIT Press, Singapore A Mind Map Based Framework for Automated Software Log File Analysis Dileepa Jayathilake
Applying 4+1 View Architecture with UML 2. White Paper
Applying 4+1 View Architecture with UML 2 White Paper Copyright 2007 FCGSS, all rights reserved. www.fcgss.com Introduction Unified Modeling Language (UML) has been available since 1997, and UML 2 was
Introduction to Formal Methods. Các Phương Pháp Hình Thức Cho Phát Triển Phần Mềm
Introduction to Formal Methods Các Phương Pháp Hình Thức Cho Phát Triển Phần Mềm Outline Introduction Formal Specification Formal Verification Model Checking Theorem Proving Introduction Good papers to
Web Application Architectures
Web Engineering Web Application Architectures Copyright 2013 Ioan Toma & Srdjan Komazec 1 Where we are? # Date Title 1 5 th March Web Engineering Introduction and Overview 2 12 th March Requirements Engineering
Value Paper Author: Edgar C. Ramirez. Diverse redundancy used in SIS technology to achieve higher safety integrity
Value Paper Author: Edgar C. Ramirez Diverse redundancy used in SIS technology to achieve higher safety integrity Diverse redundancy used in SIS technology to achieve higher safety integrity Abstract SIS
Managing Variability in Software Architectures 1 Felix Bachmann*
Managing Variability in Software Architectures Felix Bachmann* Carnegie Bosch Institute Carnegie Mellon University Pittsburgh, Pa 523, USA [email protected] Len Bass Software Engineering Institute Carnegie
JOURNAL OF OBJECT TECHNOLOGY
JOURNAL OF OBJECT TECHNOLOGY Online at www.jot.fm. Published by ETH Zurich, Chair of Software Engineering JOT, 2006 Vol. 5. No. 8, November-December 2006 Requirements Engineering Tasks Donald Firesmith,
Data Model Bugs. Ivan Bocić and Tevfik Bultan
Data Model Bugs Ivan Bocić and Tevfik Bultan Department of Computer Science University of California, Santa Barbara, USA [email protected] [email protected] Abstract. In today s internet-centric world, web
Certification Authorities Software Team (CAST) Position Paper CAST-9
Certification Authorities Software Team (CAST) Position Paper CAST-9 Considerations for Evaluating Safety Engineering Approaches to Software Assurance Completed January, 2002 NOTE: This position paper
Verification of Triple Modular Redundancy (TMR) Insertion for Reliable and Trusted Systems
Verification of Triple Modular Redundancy (TMR) Insertion for Reliable and Trusted Systems Melanie Berg 1, Kenneth LaBel 2 1.AS&D in support of NASA/GSFC [email protected] 2. NASA/GSFC [email protected]
Certifications and Standards in Academia. Dr. Jane LeClair, Chief Operating Officer National Cybersecurity Institute
Certifications and Standards in Academia Dr. Jane LeClair, Chief Operating Officer National Cybersecurity Institute Accreditation What is it? Why is it important? How is it attained? The National Centers
Engineering Process Software Qualities Software Architectural Design
Engineering Process We need to understand the steps that take us from an idea to a product. What do we do? In what order do we do it? How do we know when we re finished each step? Production process Typical
FUZZY Based PID Controller for Speed Control of D.C. Motor Using LabVIEW
FUZZY Based PID Controller for Speed Control of D.C. Motor Using LabVIEW SALIM, JYOTI OHRI Department of Electrical Engineering National Institute of Technology Kurukshetra INDIA [email protected] [email protected]
QoS Probing Of Real-World Web Services
QoS Probing Of Real-World Web Services SathishKumar 1, Anantharaj 2, Chendhavarayan. R 3 Student 1, HOD 2, Assistant Professor 3 Computer Science Engineering, Thiruvalluvar College of Engineering and Technology,
The Service Availability Forum Specification for High Availability Middleware
The Availability Forum Specification for High Availability Middleware Timo Jokiaho, Fred Herrmann, Dave Penkler, Manfred Reitenspiess, Louise Moser Availability Forum [email protected], [email protected],
Software Engineering. Objectives. Designing, building and maintaining large software systems
Software Engineering Objectives Designing, building and maintaining large software systems To define software engineering and explain its importance To discuss the concepts of software products and software
An Analysis on Objectives, Importance and Types of Software Testing
Available Online at www.ijcsmc.com International Journal of Computer Science and Mobile Computing A Monthly Journal of Computer Science and Information Technology IJCSMC, Vol. 2, Issue. 9, September 2013,
SoMA. Automated testing system of camera algorithms. Sofica Ltd
SoMA Automated testing system of camera algorithms Sofica Ltd February 2012 2 Table of Contents Automated Testing for Camera Algorithms 3 Camera Algorithms 3 Automated Test 4 Testing 6 API Testing 6 Functional
Outline. 1 Denitions. 2 Principles. 4 Implementation and Evaluation. 5 Debugging. 6 References
Outline Computer Science 331 Introduction to Testing of Programs Mike Jacobson Department of Computer Science University of Calgary Lecture #3-4 1 Denitions 2 3 4 Implementation and Evaluation 5 Debugging
Lecture 26 Enterprise Internet Computing 1. Enterprise computing 2. Enterprise Internet computing 3. Natures of enterprise computing 4.
Lecture 26 Enterprise Internet Computing 1. Enterprise computing 2. Enterprise Internet computing 3. Natures of enterprise computing 4. Platforms High end solutions Microsoft.Net Java technology 1 Enterprise
EST.03. An Introduction to Parametric Estimating
EST.03 An Introduction to Parametric Estimating Mr. Larry R. Dysert, CCC A ACE International describes cost estimating as the predictive process used to quantify, cost, and price the resources required
Securing PHP Based Web Application Using Vulnerability Injection
International Journal of Information and Computation Technology. ISSN 0974-2239 Volume 3, Number 5 (2013), pp. 391-398 International Research Publications House http://www. irphouse.com /ijict.htm Securing
Overview of IEC 61508 - Design of electrical / electronic / programmable electronic safety-related systems
Overview of IEC 61508 - Design of electrical / electronic / programmable electronic safety-related systems Simon Brown The author is with the Health & Safety Executive, Magdalen House, Bootle, Merseyside,
