CMPT 473 Software Quality Assurance. Managing Bugs. Nick Sumner
|
|
- Phillip Tracy Stephens
- 5 years ago
- Views:
Transcription
1 CMPT 473 Software Quality Assurance Managing Bugs Nick Sumner
2 Bugs! So far, we've been trying to find & avoid them Test, test, test! 2
3 Bugs! So far, we've been trying to find & avoid them Test, test, test! Eventually, you might actually encounter a bug/error 3
4 Bugs! So far, we've been trying to find & avoid them Test, test, test! Eventually, you might actually encounter a bug/error 2 perspectives to consider 4
5 Bugs! So far, we've been trying to find & avoid them Test, test, test! Eventually, you might actually encounter a bug/error 2 perspectives to consider Developer how should the program handle errors? Error Reporting 5
6 Bugs! So far, we've been trying to find & avoid them Test, test, test! Eventually, you might actually encounter a bug/error 2 perspectives to consider Developer how should the program handle errors? Error Reporting Client/Teammate how should the bug be reported / prioritized / fixed? Bug Advocacy 6
7 Bugs! So far, we've been trying to find & avoid them Test, test, test! These perspectives are not independent! Eventually, you might actually encounter a bug/error Why? 2 perspectives to consider Developer how should the program handle errors? Error Reporting Client/Teammate how should the bug be reported / prioritized / fixed? Bug Advocacy 7
8 Error Reporting What should the program do when it detects an error? 8
9 Error Reporting What should the program do when it detects an error? Simply ignoring the error is often a poor choice 9
10 Error Reporting What should the program do when it detects an error? Simply ignoring the error is often a poor choice Log it, print it, or otherwise report it 10
11 Error Reporting What should the program do when it detects an error? Simply ignoring the error is often a poor choice Log it, print it, or otherwise report it Fail gracefully, continuing if possible 11
12 Error Reporting What should the program do when it detects an error? Simply ignoring the error is often a poor choice Log it, print it, or otherwise report it Fail gracefully, continuing if possible What should error messages contain? 12
13 Error Reporting What should the program do when it detects an error? Simply ignoring the error is often a poor choice Log it, print it, or otherwise report it Fail gracefully, continuing if possible What should error messages contain? What specifically is incorrect 13
14 Error Reporting What should the program do when it detects an error? Simply ignoring the error is often a poor choice Log it, print it, or otherwise report it Fail gracefully, continuing if possible What should error messages contain? What specifically is incorrect Why it is incorrect 14
15 Error Reporting What should the program do when it detects an error? Simply ignoring the error is often a poor choice Log it, print it, or otherwise report it Fail gracefully, continuing if possible What should error messages contain? What specifically is incorrect Why it is incorrect Where / when it is incorrect 15
16 Error Reporting Should match your existing intuition: 16
17 Error Reporting Should match your existing intuition: try { } catch (Exception e) {} is hideous! 17
18 Error Reporting Should match your existing intuition: try { } catch (Exception e) {} is hideous! Segmentation Fault is frustrating 18
19 Error Reporting Should match your existing intuition: try { } catch (Exception e) {} is hideous! Segmentation Fault is frustrating Program Error is infuriating 19
20 Error Reporting Should match your existing intuition: try { } catch (Exception e) {} is hideous! Segmentation Fault is frustrating Program Error is infuriating Index out of bounds: index i = 30 > size 15 at line 5 of MyVector.java is rather pleasant 20
21 Error Reporting Should match your existing intuition: try { } catch (Exception e) {} is hideous! Segmentation Fault is frustrating Program Error is infuriating Index out of bounds: index i = 30 > size 15 at line 5 of MyVector.java is rather pleasant But not all information should be reported! Why might some values/variables be undesirable to report? 21
22 Error Reporting Should match your existing intuition: try { } catch (Exception e) {} is hideous! Segmentation Fault is frustrating Program Error is infuriating Index out of bounds: index i = 30 > size 15 at line 5 of MyVector.java is rather pleasant But not all information should be reported! Why might some values/variables be undesirable to report? Note: Sensitive values should not even be available or possible to report! This indicates design bugs! 22
23 Reporting, Advocacy, & Management The reason we need good error messages is to support bug reporting & management 23
24 Reporting, Advocacy, & Management The reason we need good error messages is to support bug reporting & management Help facilitate: 24
25 Reporting, Advocacy, & Management The reason we need good error messages is to support bug reporting & management Help facilitate: Reproducing the failure 25
26 Reporting, Advocacy, & Management The reason we need good error messages is to support bug reporting & management Help facilitate: Reproducing the failure Finding the best initial owner 26
27 Reporting, Advocacy, & Management The reason we need good error messages is to support bug reporting & management Help facilitate: Reproducing the failure Finding the best initial owner Combining duplicate reports 27
28 Reporting, Advocacy, & Management The reason we need good error messages is to support bug reporting & management Help facilitate: Reproducing the failure Finding the best initial owner Combining duplicate reports Identifying possible causes & effects 28
29 Reporting, Advocacy, & Management The reason we need good error messages is to support bug reporting & management Help facilitate: Reproducing the failure Finding the best initial owner Combining duplicate reports Identifying possible causes & effects Prioritizing the bug 29
30 Reporting, Advocacy, & Management The reason we need good error messages is to support bug reporting & management Help facilitate: Reproducing the failure Finding the best initial owner Combining duplicate reports Identifying possible causes & effects Prioritizing the bug Identifying workarounds & working cases 30
31 Reporting, Advocacy, & Management The reason we need good error messages is to support bug reporting & management Help facilitate: Reproducing the failure Finding the best initial owner Combining duplicate reports Identifying possible causes & effects Prioritizing the bug Identifying workarounds & working cases What have we left out? 31
32 Reporting, Advocacy, & Management The reason we need good error messages is to support bug reporting & management Help facilitate: Reproducing the failure Finding the best initial owner Combining duplicate reports Identifying possible causes & effects Prioritizing the bug Identifying workarounds & working cases and creating a fix 32
33 Reporting, Advocacy, & Management The reason we need good error messages is to support bug reporting & management Help facilitate: Reproducing the failure Finding the best initial owner Combining duplicate reports Identifying possible causes & effects Prioritizing the bug Identifying workarounds & working cases and creating a fix Bad bug reporting & management is worse that none! Any ideas why? 33
34 Bug Management All projects have unfixed bugs How do we keep track of them & decide what to fix? 34
35 Bug Management All projects have unfixed bugs How do we keep track of them & decide what to fix? Bug Databases e.g. Bugzilla, Mantis, Trac, FogBugz,... 35
36 Bug Management All projects have unfixed bugs How do we keep track of them & decide what to fix? Bug Databases e.g. Bugzilla, Mantis, Trac, FogBugz,... Bug Databases Centralize communication (developer & user) to: 36
37 Bug Management All projects have unfixed bugs How do we keep track of them & decide what to fix? Bug Databases e.g. Bugzilla, Mantis, Trac, FogBugz,... Bug Databases Centralize communication (developer & user) to: Own Prioritize Reproduce, Localize, Explain Patch 37
38 Ownership Who is responsible for a bug? A very difficult task in general 38
39 Ownership Who is responsible for a bug? A very difficult task in general Who knows the most about this module? Whose code (if any!) exposed the bug? (RIP) Who worked with this code most recently? 39
40 Ownership Who is responsible for a bug? A very difficult task in general Who knows the most about this module? Whose code (if any!) exposed the bug? (RIP) Who worked with this code most recently? Is this a client side issue? 40
41 Prioritizing Bugs All projects have unfixed bugs If a bug doesn't appear important, it won't get fixed 41
42 Prioritizing Bugs All projects have unfixed bugs If a bug doesn't appear important, it won't get fixed Which bugs are important? What makes bugs a higher priority for you? 42
43 Prioritizing Bugs All projects have unfixed bugs If a bug doesn't appear important, it won't get fixed Which bugs are important? Occur frequently / for most users 43
44 Prioritizing Bugs All projects have unfixed bugs If a bug doesn't appear important, it won't get fixed Which bugs are important? Occur frequently / for most users Have substantial risks / consequences 44
45 Prioritizing Bugs All projects have unfixed bugs If a bug doesn't appear important, it won't get fixed Which bugs are important? Occur frequently / for most users Have substantial risks / consequences This requires proper risk assessment (tricky) 45
46 Prioritizing Bugs All projects have unfixed bugs If a bug doesn't appear important, it won't get fixed Which bugs are important? Occur frequently / for most users Have substantial risks / consequences Are new in the latest version 46
47 Prioritizing Bugs All projects have unfixed bugs If a bug doesn't appear important, it won't get fixed Which bugs are important? Occur frequently / for most users Have substantial risks / consequences Are new in the latest version Why are new bugs important? 47
48 Prioritizing Bugs All projects have unfixed bugs If a bug doesn't appear important, it won't get fixed Which bugs are important? Occur frequently / for most users Have substantial risks / consequences Are new in the latest version Identifying the importance of bugs is critical to prioritizing them Usually informally at first until a bug owner is found to estimate the risk 48
49 But what should a report contain? A concise explanation of anything helpful in evaluating & fixing the bug? 49
50 But what should a report contain? A concise explanation of anything helpful in evaluating & fixing the bug Product, version, & relevant feature Platform & environment Potential severity / priority Possible owners Possible duplicates... 50
51 But what should a report contain? A concise explanation of anything helpful in evaluating & fixing the bug Product, version, & relevant feature Platform & environment Potential severity / priority Possible owners Possible duplicates A one line summary 51
52 But what should a report contain? A concise explanation of anything helpful in evaluating & fixing the bug Product, version, & relevant feature Platform & environment Potential severity / priority Possible owners Possible duplicates A one line summary An explanation of what happened, when it happened, & why it was unexpected 52
53 But what should a report contain? A concise explanation of anything helpful in evaluating & fixing the bug Product, version, & relevant feature Platform & environment Potential severity / priority Possible owners Possible duplicates A one line summary An explanation of what happened, when it happened, & why it was unexpected A minimal, self contained test case (steps to reproduce) 53
54 Bug Advocacy An Example A colleague of mine have find a hairy bug, here is a simple code to reproduce it. public class FunWithMultiCatch { public static void main(string[] args) { Runnable r = () -> { try { Object o = null; o.getclass(); throw new IOException(); } catch(ioexception IllegalArgumentException e) { System.out.println("KO!"); } catch(runtimeexception e) { System.out.println("OK!"); } }; r.run(); } 54 }
55 Bug Advocacy An Example A colleague of mine have find a hairy bug, here is a simple code to reproduce it. public class FunWithMultiCatch { public static void main(string[] args) { Runnable r = () -> { try { Object o = null; o.getclass(); throw new IOException(); } catch(ioexception IllegalArgumentException e) { System.out.println("KO!"); } catch(runtimeexception e) { System.out.println("OK!"); } }; It prints 'KO!' :( r.run(); } 55 }
56 Common Problems Incomplete / missing information is the most common issue [Bettenburg 2008] It is also what I face when trying to help students 56
57 Common Problems Incomplete / missing information is the most common issue [Bettenburg 2008] It is also what I face when trying to help students Also, errors in: steps to reproduce (incorrectness or overcomplication) 57
58 Common Problems Incomplete / missing information is the most common issue [Bettenburg 2008] It is also what I face when trying to help students Also, errors in: steps to reproduce (incorrectness or overcomplication) expected behaviors 58
59 How can we minimize test cases? For now: How do you already minimize test cases? 59
60 How can we minimize test cases? For now: How do you already minimize test cases? Let's think of what else we could do 60
CMPT 473 Software Quality Assurance. Managing Bugs. Nick Sumner - Fall 2014
CMPT 473 Software Quality Assurance Managing Bugs Nick Sumner - Fall 2014 Bugs! So far, we've been trying to find & avoid them Test, test, test! 2 Bugs! So far, we've been trying to find & avoid them Test,
More information2018/2/5 话费券企业客户接入文档 语雀
1 2 2 1 2 1 1 138999999999 2 1 2 https:lark.alipay.com/kaidi.hwf/hsz6gg/ppesyh#2.4-%e4%bc%81%e4%b8%9a%e5%ae%a2%e6%88%b7%e6%8e%a5%e6%94%b6%e5%85%85%e5 1/8 2 1 3 static IAcsClient client = null; public static
More informationErrors and Exceptions
Exceptions Errors and Exceptions An error is a bug in your program dividing by zero going outside the bounds of an array trying to use a null reference An exception isn t necessarily your fault trying
More informationTesting. Topics. Types of Testing. Types of Testing
Topics 1) What are common types of testing? a) Testing like a user: through the UI. b) Testing like a dev: through the code. 2) What makes a good bug report? 3) How can we write code to test code (via
More information16-Dec-10. Consider the following method:
Boaz Kantor Introduction to Computer Science IDC Herzliya Exception is a class. Java comes with many, we can write our own. The Exception objects, along with some Java-specific structures, allow us to
More informationAn exception is simply an error. Instead of saying an error occurred, we say that an.
3-1 An exception is simply an error. Instead of saying an error occurred, we say that an. Suppose we have a chain of methods. The method is the first in the chain. An expression in it calls some other
More informationExceptions. Errors and Exceptions. Dealing with exceptions. What to do about errors and exceptions
Errors and Exceptions Exceptions An error is a bug in your program dividing by zero going outside the bounds of an array trying to use a null reference An exception is a problem whose cause is outside
More informationDesign and Implementation of a Bug Tracking System for Student Groups
Design and Implementation of a Bug Tracking System for Student Groups David Lannoye Department of Computer Science University of North Dakota Grand Forks, North Dakota 58202 dlannoye@cs.und.edu Abstract
More informationWriting your own Exceptions. How to extend Exception
Writing your own Exceptions How to extend Exception When would you write your own exception class? When to write your own custom exception is a matter for discussion in your project design team. There
More informationCOMP 213. Advanced Object-oriented Programming. Lecture 17. Exceptions
COMP 213 Advanced Object-oriented Programming Lecture 17 Exceptions Errors Writing programs is not trivial. Most (large) programs that are written contain errors: in some way, the program doesn t do what
More informationMain concepts to be covered. Handling errors. Some causes of error situations. Not always programmer error. Defensive programming.
Main concepts to be covered Handling errors Or, When Bad Things Happen to Good Programs Defensive programming. Anticipating that things could go wrong. Exception handling and throwing. Error reporting.
More informationCOMP-202 Unit 9: Exceptions
COMP-202 Unit 9: Exceptions Announcements - Assignment 4: due Monday April 16th - Assignment 4: tutorial - Final exam tutorial next week 2 Exceptions An exception is an object that describes an unusual
More informationCS159. Nathan Sprague
CS159 Nathan Sprague What s wrong with the following code? 1 /* ************************************************** 2 * Return the mean, or -1 if the array has length 0. 3 ***************************************************
More informationCS115. Chapter 17 Exception Handling. Prof. Joe X. Zhou Department of Computer Science. To know what is exception and what is exception handling
CS115 Pi Principles i of fcomputer Science Chapter 17 Exception Handling Prof. Joe X. Zhou Department of Computer Science CS115 ExceptionHandling.1 Objectives in Exception Handling To know what is exception
More informationRemedial Java - Excep0ons 3/09/17. (remedial) Java. Jars. Anastasia Bezerianos 1
(remedial) Java anastasia.bezerianos@lri.fr Jars Anastasia Bezerianos 1 Disk organiza0on of Packages! Packages are just directories! For example! class3.inheritancerpg is located in! \remedialjava\src\class3\inheritencerpg!
More informationData Structures. Subodh Kumar. Dept of Computer Sc. & Engg. IIT Delhi
Data Structures Subodh Kumar Dept of Computer Sc. & Engg. IIT Delhi OOP Quiz 2 Class Bird extends class Animal. class Cat { public Bird catchbird(bird birdtocatch) {... Later in a method Animal pigeon
More informationCS302 Midterm Exam Answers & Grading James S. Plank September 30, 2010
CS302 Midterm Exam Answers & Grading James S. Plank September 30, 2010 Question 1 Part 1, Program A: This program reads integers on standard input and stops when it encounters EOF or a non-integer. It
More informationBug tracking. Second level Third level Fourth level Fifth level. - Software Development Project. Wednesday, March 6, 2013
Bug tracking Click to edit Master CSE text 2311 styles - Software Development Project Second level Third level Fourth level Fifth level Wednesday, March 6, 2013 1 Prototype submission An email with your
More informationPages and 68 in [JN] conventions for using exceptions in Java. Chapter 8 in [EJ] guidelines for more effective use of exceptions.
CS511, HANDOUT 12, 7 February 2007 Exceptions READING: Chapter 4 in [PDJ] rationale for exceptions in general. Pages 56-63 and 68 in [JN] conventions for using exceptions in Java. Chapter 8 in [EJ] guidelines
More informationCOE318 Lecture Notes Week 10 (Nov 7, 2011)
COE318 Software Systems Lecture Notes: Week 10 1 of 5 COE318 Lecture Notes Week 10 (Nov 7, 2011) Topics More about exceptions References Head First Java: Chapter 11 (Risky Behavior) The Java Tutorial:
More informationCOS226 - Spring 2018 Class Meeting # 21 April 23, 2018
COS226 - Spring 2018 Class Meeting # 21 April 23, 2018 X Unhandled exception has occurred in your application. if you click continue the application will ignore this error and attempt to continue. If you
More informationCSCI Object Oriented Design: Java Review Errors George Blankenship. Java Review - Errors George Blankenship 1
CSCI 6234 Object Oriented Design: Java Review Errors George Blankenship Java Review - Errors George Blankenship 1 Errors Exceptions Debugging Java Review Topics Java Review - Errors George Blankenship
More information엄현상 (Eom, Hyeonsang) School of Computer Science and Engineering Seoul National University COPYRIGHTS 2017 EOM, HYEONSANG ALL RIGHTS RESERVED
엄현상 (Eom, Hyeonsang) School of Computer Science and Engineering Seoul National University COPYRIGHTS 2017 EOM, HYEONSANG ALL RIGHTS RESERVED Outline - Interfaces - An Instrument interface - Multiple Inheritance
More informationCSCI Object-Oriented Design. Java Review Topics. Program Errors. George Blankenship 1. Java Review Errors George Blankenship
CSCI 6234 Object Oriented Design: Java Review Errors George Blankenship George Blankenship 1 Errors Exceptions Debugging Java Review Topics George Blankenship 2 Program Errors Types of errors Compile-time
More informationExceptions - Example. Exceptions - Example
- Example //precondition: x >= 0 public void sqrt(double x) double root; if (x < 0.0) //What to do? else //compute the square root of x return root; 1 - Example //precondition: x >= 0 public void sqrt(double
More informationChapter 13 Exception Handling
Chapter 13 Exception Handling 1 Motivations When a program runs into a runtime error, the program terminates abnormally. How can you handle the runtime error so that the program can continue to run or
More informationKnown Issues Best Practices
Known Issues Best Practices NextGen Healthcare Success Community www.community.nextgen.com v.3 Updated 11.19.2018 1 TIPS ON KNOWN ISSUES 3 SIMULATION VIDEOS FOR KNOWN ISSUES 3 ANATOMY OF A KNOWN ISSUE
More informationGlobalLogic Technical Question Paper
GlobalLogic Technical Question Paper What is the output of the following code when compiled and run? Select two correct answers. public class Question01 { public static void main(string[] args){ int y=0;
More informationThe Limit of DTrace. A Failed Attempt at Deadlock Detection
GEORGE MASON UNIVERSITY The Limit of DTrace A Failed Attempt at Deadlock Detection Khemara Chuon 2008-03-27 Solaris operating system is missing crucial probe implementations required for deadlock detection
More informationBuilding Java Programs
Building Java Programs Chapter 15 testing ArrayIntList; pre/post conditions and exceptions reading: 4.4 15.1-15.3 2 Searching methods Implement the following methods: indexof returns first index of element,
More informationDay 8. COMP1006/1406 Summer M. Jason Hinek Carleton University
Day 8 COMP1006/1406 Summer 2016 M. Jason Hinek Carleton University today s agenda assignments Assignment 4 is out and due on Tuesday Bugs and Exception handling 2 Bugs... often use the word bug when there
More informationCOMP-202 Unit 9: Exceptions
COMP-202 Unit 9: Exceptions Course Evaluations Please do these. -Fast to do -Used to improve course for future. (Winter 2011 had 6 assignments reduced to 4 based on feedback!) 2 Avoiding errors So far,
More informationRefactoring Without Ropes
Refactoring Without Ropes Roger Orr OR/2 Limited The term 'refactoring' has become popular in recent years; but how do we do it safely in actual practice? Refactoring... Improving the design of existing
More informationObject Oriented Programming. Week 7 Part 1 Exceptions
Object Oriented Programming Week 7 Part 1 Exceptions Lecture Overview of Exception How exceptions solve unexpected occurrences Catching exceptions Week 7 2 Exceptions Overview Week 7 3 Unexpected Occurances
More informationChapter 12 Exception Handling
Chapter 12 Exception Handling 1 Motivations Goal: Robust code. When a program runs into a runtime error, the program terminates abnormally. How can you handle the runtime error so that the program can
More informationSoftware Testing and Maintenance
Software Testing and Maintenance Testing Strategies Black Box Testing, also known as Behavioral Testing, is a software testing method in which the internal structure/ design/ implementation of the item
More informationComputation Abstractions. Processes vs. Threads. So, What Is a Thread? CMSC 433 Programming Language Technologies and Paradigms Spring 2007
CMSC 433 Programming Language Technologies and Paradigms Spring 2007 Threads and Synchronization May 8, 2007 Computation Abstractions t1 t1 t4 t2 t1 t2 t5 t3 p1 p2 p3 p4 CPU 1 CPU 2 A computer Processes
More informationAssure Self-Service Portal
Assure Self-Service Portal Assure Self-Service Portal is a web-based portal, where Customers are able to: Record Cases to Assure Support 24/7 View existing and past Cases Find solutions to known issues
More informationRegression testing. Whenever you find a bug. Why is this a good idea?
Regression testing Whenever you find a bug Reproduce it (before you fix it!) Store input that elicited that bug Store correct output Put into test suite Then, fix it and verify the fix Why is this a good
More informationInternational Journal of Computer Science Trends and Technology (IJCS T) Volume 4 Issue 3, May - Jun 2016
RESEARCH ARTICLE Import Sourcing of Defect Life Cycle and Defect Management Process Dr V.Goutham Department of Computer Science and Engineering TKR Engineering College, JNTU Hyderabad Telangana - India
More informationException-Handling Overview
م.عبد الغني أبوجبل Exception Handling No matter how good a programmer you are, you cannot control everything. Things can go wrong. Very wrong. When you write a risky method, you need code to handle the
More informationIntroduction to Computer Science II CS S-22 Exceptions
Introduction to Computer Science II CS112-2012S-22 Exceptions David Galles Department of Computer Science University of San Francisco 22-0: Errors Errors can occur in program Invalid input / bad data Unexpected
More informationAdministration. Exceptions. Leftovers. Agenda. When Things Go Wrong. Handling Errors. CS 99 Summer 2000 Michael Clarkson Lecture 11
Administration Exceptions CS 99 Summer 2000 Michael Clarkson Lecture 11 Lab 10 due tomorrow No lab tomorrow Work on final projects Remaining office hours Rick: today 2-3 Michael: Thursday 10-noon, Monday
More informationTopic 6: Exceptions. Exceptions are a Java mechanism for dealing with errors & unusual situations
Topic 6: Exceptions Exceptions are a Java mechanism for dealing with errors & unusual situations Goals: learn how to... think about different responses to errors write code that catches exceptions write
More informationExceptions Handling Errors using Exceptions
Java Programming in Java Exceptions Handling Errors using Exceptions Exceptions Exception = Exceptional Event Exceptions are: objects, derived from java.lang.throwable. Throwable Objects: Errors (Java
More informationProgramming II (CS300)
1 Programming II (CS300) Chapter 04: Exception Handling MOUNA KACEM mouna@cs.wisc.edu Fall 2018 Creating Classes 2 Introduction Exception Handling Common Exceptions Exceptions with Methods Assertions and
More informationSoftware Quality Assurance & Testing
Software Quality Assurance & Testing 1.Software Testing - An ISTQB-BCS Certified Tester Foundation Guide 3rd edition, 2015 Brian Hambling, Peter Morgan, Geoff Thompson, Peter Williams,Angelina Samaroo
More informationTo Think About. MyClass.mogrify(new int[] { 1, 2, 4, 6 }));
A student adds a JUnit test: To Think About @Test public void mogrifytest() { assertequals("mogrify fails", new int[] { 2, 4, 8, 12 }, MyClass.mogrify(new int[] { 1, 2, 4, 6 })); } The test always seems
More informationCSE 331 Software Design & Implementation
CSE 331 Software Design & Implementation Hal Perkins Spring 2017 Exceptions and Assertions 1 Outline General concepts about dealing with errors and failures Assertions: what, why, how For things you believe
More informationObject-Oriented Programming Design Topic : Exception Programming
Electrical and Computer Engineering Object-Oriented Topic : Exception Maj Joel Young Joel.Young@afit.edu 18-Sep-03 Maj Joel Young Error Handling General error handling options Notify the user, and Return
More informationLast time. Reasoning about programs. Coming up. Project Final Presentations. This Thursday, Nov 30: 4 th in-class exercise
Last time Reasoning about programs Coming up This Thursday, Nov 30: 4 th in-class exercise sign up for group on moodle bring laptop to class Final projects: final project presentations: Tue Dec 12, in
More informationReasoning about programs
Reasoning about programs Last time Coming up This Thursday, Nov 30: 4 th in-class exercise sign up for group on moodle bring laptop to class Final projects: final project presentations: Tue Dec 12, in
More informationChapter 11: Exception Handling
Chapter 11: Exception Handling Understanding Exceptions Exception Any error condition or unexpected behavior in an executing program Exception handling Object-oriented techniques used to manage such errors
More informationPainless Persistence. Some guidelines for creating persistent Java applications that work
Painless Persistence Some guidelines for creating persistent Java applications that work The Authors Anthony Patricio Senior JBoss Certification Developer Highest volume poster on early Hibernate forums
More informationCascade Health Alliance. User Guide. Authorization Management Provider Portal
Cascade Health Alliance User Guide Authorization Management Provider Portal 8-16-2017 Table of Contents USING THIS GUIDE... 2 SIGNING IN... 2 PROVIDER PORTAL NAVIGATION... 3 Portal... 3 Core... 3 Resources...
More informationLecture 2 Pre-processing Concurrent Versions System Archives
Lecture 2 Pre-processing Concurrent Versions System Archives Debian Developer Coordinates Distributed Development Distributed Development I hope no one else is editing the same parts of the code as I am.
More informationCrash course on Reporting Bugs
Page 1 of 5 Crash course on Reporting Bugs Santhosh Tuppad Test Enthusiast http://tuppad.com Santhosh@testersblog.com Pradeep Soundararajan Test Consultant, Coach, Author and Speaker http://testertested.blogspot.com
More informationOracle Utilities Application Framework
Oracle Utilities Application Framework API Reference Notes Release 4.x E54104-04 March 2017 Oracle Utilities Application Framework API Reference Notes Release 4.x E54104-04 Copyright 2017, Oracle and/or
More informationA Case Study on the Similarity Between Source Code and Bug Reports Vocabularies
A Case Study on the Similarity Between Source Code and Bug Reports Vocabularies Diego Cavalcanti 1, Dalton Guerrero 1, Jorge Figueiredo 1 1 Software Practices Laboratory (SPLab) Federal University of Campina
More informationCS193j, Stanford Handout #25. Exceptions
CS193j, Stanford Handout #25 Summer, 2003 Manu Kumar Exceptions Great Exceptations Here we'll cover the basic features and uses of exceptions. Pre-Exceptions A program has to encode two ideas -- how to
More informationIntroduction. Exceptions: An OO Way for Handling Errors. Common Runtime Errors. Error Handling. Without Error Handling Example 1
Exceptions: An OO Way for Handling Errors Introduction Rarely does a program runs successfully at its very first attempt. It is common to make mistakes while developing as well as typing a program. Such
More informationBecause you can t fix what you don t know is broken
Because you can t fix what you don t know is broken About me Initiator of the Automated Error Reporting Initiative Project Lead of Eclipse Code Recommenders Eclipse Committer since 2010 Plug-in Developer
More informationCSPP : Introduction to Object-Oriented Programming
CSPP 511-01: Introduction to Object-Oriented Programming Harri Hakula Ryerson 256, tel. 773-702-8584 hhakula@cs.uchicago.edu August 7, 2000 CSPP 511-01: Lecture 15, August 7, 2000 1 Exceptions Files: Text
More informationRecreation. MyClass.mogrify(new int[] { 1, 2, 4, 6 }));
A student adds a JUnit test: Recreation @Test public void mogrifytest() { assertequals("mogrify fails", new int[] { 2, 4, 8, 12 }, MyClass.mogrify(new int[] { 1, 2, 4, 6 })); } The test always seems to
More informationJava Programming Fundamentals - Day Instructor: Jason Yoon Website:
Java Programming Fundamentals - Day 1 07.09.2016 Instructor: Jason Yoon Website: http://mryoon.weebly.com Quick Advice Before We Get Started Java is not the same as javascript! Don t get them confused
More informationProblems with Concurrency. February 19, 2014
with Concurrency February 19, 2014 s with concurrency interleavings race conditions dead GUI source of s non-determinism deterministic execution model 2 / 30 General ideas Shared variable Access interleavings
More informationChapter 15. Exception Handling. Chapter Goals. Error Handling. Error Handling. Throwing Exceptions. Throwing Exceptions
Chapter 15 Exception Handling Chapter Goals To learn how to throw exceptions To be able to design your own exception classes To understand the difference between checked and unchecked exceptions To learn
More informationThe Anatomy of A FOSS Project
The Anatomy of A FOSS Project We heard the historical/ political side What does it mean then to say that something is a FOSS project? What do we think of when we hear that term FOSS project? What are expectations
More informationCMPT 473 Software Quality Assurance. Security. Nick Sumner - Fall 2014
CMPT 473 Software Quality Assurance Security Nick Sumner - Fall 2014 Basic Security What are attributes of a secure program? CIA 2 Basic Security What are attributes of a secure program? CIA (C)onfidentiality
More informationExceptions. Examples of code which shows the syntax and all that
Exceptions Examples of code which shows the syntax and all that When a method might cause a checked exception So the main difference between checked and unchecked exceptions was that the compiler forces
More informationProgramming II (CS300)
1 Programming II (CS300) Chapter 04: Exception Handling MOUNA KACEM mouna@cs.wisc.edu Spring 2018 Creating Classes 2 Introduction Exception Handling Common Exceptions Exceptions with Methods Assertions
More informationCSC System Development with Java. Exception Handling. Department of Statistics and Computer Science. Budditha Hettige
CSC 308 2.0 System Development with Java Exception Handling Department of Statistics and Computer Science 1 2 Errors Errors can be categorized as several ways; Syntax Errors Logical Errors Runtime Errors
More informationDuplication de code: un défi pour l assurance qualité des logiciels?
Duplication de code: un défi pour l assurance qualité des logiciels? Foutse Khomh S.W.A.T http://swat.polymtl.ca/ 2 JHotDraw 3 Code duplication can be 4 Example of code duplication Duplication to experiment
More informationFull file at Chapter 2 - Inheritance and Exception Handling
Chapter 2 - Inheritance and Exception Handling TRUE/FALSE 1. The superclass inherits all its properties from the subclass. ANS: F PTS: 1 REF: 76 2. Private members of a superclass can be accessed by a
More informationException Handling. General idea Checked vs. unchecked exceptions Semantics of... Example from text: DataAnalyzer.
Exception Handling General idea Checked vs. unchecked exceptions Semantics of throws try-catch Example from text: DataAnalyzer Exceptions [Bono] 1 Announcements Lab this week is based on the textbook example
More informationSchool of Informatics, University of Edinburgh
CS1Ah Lecture Note 29 Streams and Exceptions We saw back in Lecture Note 9 how to design and implement our own Java classes. An object such as a Student4 object contains related fields such as surname,
More informationChapter 10. Testing and Quality Assurance
Chapter 10 Testing and Quality Assurance Different styles of doing code review Human Reviewer Code Inspection with continuous integration infrastructure Pinger s testing set up Testing Related topics 1.
More informationMidterm assessment - MAKEUP Fall 2010
M257 MTA Faculty of Computer Studies Information Technology and Computing Date: /1/2011 Duration: 60 minutes 1-Version 1 M 257: Putting Java to Work Midterm assessment - MAKEUP Fall 2010 Student Name:
More informationInput Space Partitioning
CMPT 473 Software Quality Assurance Input Space Partitioning Nick Sumner Recall Testing involves running software and comparing observed behavior against expected behavior Select an input, look at the
More informationVideo 2.1. Arvind Bhusnurmath. Property of Penn Engineering, Arvind Bhusnurmath. SD1x-2 1
Video 2.1 Arvind Bhusnurmath SD1x-2 1 Topics Why is testing important? Different types of testing Unit testing SD1x-2 2 Software testing Integral part of development. If you ship a software with bugs,
More informationTraditional Error Handling
Exception Handling 1 Traditional Error Handling We have already covered several mechanisms for handling errors in C++. We ll quickly review them here. Returning Error Values One classic approach involves
More informationHere is a hierarchy of classes to deal with Input and Output streams.
PART 15 15. Files and I/O 15.1 Reading and Writing Files A stream can be defined as a sequence of data. The InputStream is used to read data from a source and the OutputStream is used for writing data
More informationBruce Silver Associates Independent Expertise in BPM
Bruce Silver Associates Independent Expertise in BPM BPMN and the Business Process Expert, Part 4: Mastering BPMN Events Summary: The ability to describe event-triggered behavior directly in the diagram
More informationCSE 331. Programming by contract: pre/post conditions; Javadoc
CSE 331 Programming by contract: pre/post conditions; Javadoc slides created by Marty Stepp based on materials by M. Ernst, S. Reges, D. Notkin, R. Mercer, Wikipedia http://www.cs.washington.edu/331/ 1
More informationSimple testing can prevent most critical failures -- An analysis of production failures in distributed data-intensive systems
Simple testing can prevent most critical failures -- An analysis of production failures in distributed data-intensive systems Ding Yuan, Yu Luo, Xin Zhuang, Guilherme Rodrigues, Xu Zhao, Yongle Zhang,
More informationLecture 19 Programming Exceptions CSE11 Fall 2013
Lecture 19 Programming Exceptions CSE11 Fall 2013 When Things go Wrong We've seen a number of run time errors Array Index out of Bounds e.g., Exception in thread "main" java.lang.arrayindexoutofboundsexception:
More informationGetting Your s Read!
Getting Your Emails Read! The time-tested, tried, and true methods for getting your emails read and opened. This is essential for anyone that wants to build a full time income from their list efforts.
More informationCMPT 473 Software Quality Assurance. Graph Coverage. Nick Sumner
CMPT 473 Software Quality Assurance Graph Coverage Nick Sumner Recall: Coverage/Adequacy Can't look at all possible inputs. Need to determine if a test suite covers / is adequate for our quality objectives.
More informationCSE 142/143 Unofficial Commenting Guide Eric Arendt, Alyssa Harding, Melissa Winstanley
CSE 142/143 Unofficial Commenting Guide Eric Arendt, Alyssa Harding, Melissa Winstanley In Brief: What You Need to Know to Comment Methods in CSE 143 Audience o A random person you don t know who wants
More informationCS 161 Computer Security. Security Throughout the Software Development Process
Popa & Wagner Spring 2016 CS 161 Computer Security 1/25 Security Throughout the Software Development Process Generally speaking, we should think of security is an ongoing process. For best results, it
More informationTracking Issues with JIRA
Tracking Issues with JIRA Get a Linux Foundation Account JIRA User's Guide JIRA Setup for ONAP Viewing Issues in JIRA Reporting a Bug Proposing a New Feature JIRA Issue Types JIRA Workflow JIRA Statuses
More informationSERVICE REQUEST MANAGEMENT GUIDE FOR MENTOR PARTNERS
SERVICE REQUEST MANAGEMENT GUIDE FOR MENTOR PARTNERS This document contains information that is proprietary to Mentor Graphics Corporation, a Siemens business. The original recipient of this document may
More informationOutlook Best Practices:
Key Items: Make sure all users with mobile devices have the latest updates (OS, IOS, etc.) o IOS 4.2 is known to cause corruption in calendars. Must be on 4.3.3 Look for Event ID 54. This will tell you
More informationDATA MANAGEMENT USE CASES
DATA MANAGEMENT USE CASES Data Management is a general term for a variety of tasks ISD is frequently asked to assist with. DATA MANAGEMENT WHAT S POSSIBLE? Consulting on implementing new workflows or improving
More informationC. E. McDowell August 25, Baskin Center for. University of California, Santa Cruz. Santa Cruz, CA USA. abstract
Unloading Java Classes That Contain Static Fields C. E. McDowell E. A. Baldwin 97-18 August 25, 1997 Baskin Center for Computer Engineering & Information Sciences University of California, Santa Cruz Santa
More informationPractice exam for CMSC131-04, Fall 2017
Practice exam for CMSC131-04, Fall 2017 Q1 makepalindrome - Relevant topics: arrays, loops Write a method makepalidrome that takes an int array, return a new int array that contains the values from the
More informationExposing unforeseen consequences of software change
Exposing unforeseen consequences of software change David Notkin University of Washington February 2010 Joint work with Reid Holmes Thank you! My first trip to India and I am sure not my last! Wonderful
More informationSchool of Informatics, University of Edinburgh
CS1Bh Lecture Note 16 Case Study: Client/Server In this case study we look at providing a slightly more realistic client/server application and explore some of the issues that arise in this context. Specifically
More information// Initially NULL, points to the dynamically allocated array of bytes. uint8_t *data;
Creating a Data Type in C Bytes For this assignment, you will use the struct mechanism in C to implement a data type that represents an array of bytes. This data structure could be used kind of like a
More informationLarge-Scale API Protocol Mining for Automated Bug Detection
Large-Scale API Protocol Mining for Automated Bug Detection Michael Pradel Department of Computer Science ETH Zurich 1 Motivation LinkedList pinconnections =...; Iterator i = pinconnections.iterator();
More information