About me. I m Eiji Adachi Barbosa
|
|
- Veronica Foster
- 7 years ago
- Views:
Transcription
1 About me I m Eiji Adachi Barbosa PhD student MSc. in Informatics from PUC-Rio I work under the supervision of prof. Alessandro Garcia since 2010 My research topic: Exception Handling I took this course in 2011 and again in 2013 Eiji Adachi M. Barbosa 1
2 Categorizing Faults in Exception Handling: A Study of Open Source Projects Eiji Adachi Barbosa Alessandro Garcia Simone D. J. Barbosa LES DI PUC-Rio Brasil SBES-2104 OPUS Research Group
3 Exceptions Exceptions Unexpected conditions or events that occur at runtime and prevent programs to continue their normal execution flow Press any key to continue _ Eiji Adachi M. Barbosa 3
4 Exception Handling Mechanisms Intended to improve software robustness Ease the design and implementation of the exception handling in software systems Provided in most mainstream programming languages Try Catch Throw Eiji Adachi M. Barbosa 4
5 Exception Handling Mechanisms in Programming Languages public void foo(...) { if( /* exceptional condition */ ) throw new XPTO_Exception( ERROR message ); try { // Business catch (Exception e) { // Recovery actions Eiji Adachi M. Barbosa 5
6 Developers viewpoint Shah et al. (2010) conducted a series of interviews with developers: Novice: Tend to ignore exceptions when developing systems Use exceptions primarily for debugging the code Dislike the forced handling of exceptions imposed by Java compiler Experts: Do not distinguish between normal and exceptional functionality Have trained themselves to think about both usual and exceptional behavior simultaneously Use exception-handling to convey important information to the user Also do not appreciate that exception-handling in Java is imposed Eiji Adachi M. Barbosa 6
7 Developers viewpoint Ebert and Castor (2014) conducted a survey with developers: Only 27% of respondents affirmed that they pay attention to exception handling Only 21% of respondents affirmed that their organizations have specific exception handling policies 40% of respondents consider the quality of exception handling good or very good and 14% of respondents consider the quality of exception handling bad or very bad Eiji Adachi M. Barbosa 7
8 Problems with Exception Handling The lack of proper handling actions is very common in real software systems 40%-72% of handling actions are only-logging or empty handlers Exception handling code is more error prone and concentrates more defects than normal code Uncaught exceptions Developers introduce faults in exception handling code even when they try to improve it Eiji Adachi M. Barbosa 8
9 What are the causes of faults (bugs) related to exception handling? i.e., faults related to the definition, throwing, propagation, handling and documentation of exceptions, as well as faults related to termination actions in case of exceptions. Eiji Adachi M. Barbosa 9
10 Study design Goal: Gather deeper knowledge about the causes of faults related to exception handling reported in software systems To achieve our research goal, we performed a longitudinal evaluation in the context of two large software projects Eiji Adachi M. Barbosa 10
11 Target systems Open-source projects Publicly available bug reports and source code Possibility to map bug reports to corresponding fixing patches First attempt: search bug reports and then find the corresponding fixing patches Failed because many bug reports did not have the corresponding patch Other approach: Search the revisions that fixed faults and then find the corresponding bug report Bug-Report-Id-patterns on revision comments Selected candidates: Tomcat and Hadoop Eiji Adachi M. Barbosa 11
12 Data collection Step 1 Gather complete history of revisions Target system source code repository Eiji Adachi M. Barbosa 12
13 Data collection Step 1 Gather complete history of revisions Target system source code repository Complete history of revisions Eiji Adachi M. Barbosa 13
14 Data collection Step 2 Identify revisions potentially related to exceptional faults Complete history of revisions Fix how_bug.cgi?id=52591 Skip attributes where getters throw UnsupportedOperationException Revision comment Eiji Adachi M. Barbosa 14
15 Data collection Step 2 Identify revisions potentially related to exceptional faults Complete history of revisions Comment contains Report_Id && keyword Exception? Fix how_bug.cgi?id=52591 Skip attributes where getters throw UnsupportedOperationException Revision comment Eiji Adachi M. Barbosa 15
16 Data collection Step 2 Identify revisions potentially related to exceptional faults Complete history of revisions Comment contains Report_Id \ && keyword Exception? Revisions potentially related to exceptional faults Fix how_bug.cgi?id=52591 Skip attributes where getters throw UnsupportedOperationException Revision comment Eiji Adachi M. Barbosa 16
17 Data collection Step 3 Manual triage Revision comment Revisions potentially related to exceptional faults Bug report Source code diff Eiji Adachi M. Barbosa 17
18 Data collection Step 3 Manual triage Revision comment Revisions potentially related to exceptional faults Bug report Revisions related to exceptional faults Source code diff Eiji Adachi M. Barbosa 18
19 Raw data Eiji Adachi M. Barbosa 19
20 Analysis method Step 1 Diff description V2 V1 Eiji Adachi M. Barbosa 20
21 Analysis method Step 1 Diff description V2 V1 Changed the argument of a catch from InvalidProtocolBufferExce ption to Throwable. Also changed parameters of exception instantiation within catch block. Diff description Eiji Adachi M. Barbosa 21
22 Analysis method Step 2 Extraction of text fragments Revision comment Bug report Eiji Adachi M. Barbosa 22
23 Analysis method Step 2 Extraction of text fragments Revision comment Bug report Fragments explaining the cause or the correction Eiji Adachi M. Barbosa 23
24 Analysis method Step 2 Extraction of text fragments So, two conclusions: 1. The failure occurs above response.encodeurl("j_security_check")" call. 2. I suspect that _jspx_page_context is null. In that case the Throwable in the catch block is silently swallowed. Example of fragment extracted from bug report Eiji Adachi M. Barbosa 24
25 Analysis method Step 3 Explaining the cause Diff description What caused the observed fault? Fragments explaining the cause or the correction Eiji Adachi M. Barbosa 25
26 Analysis method Step 3 Explaining the cause Diff description What caused the \ observed fault? Cause of observed fault Fragments explaining the cause or the correction Eiji Adachi M. Barbosa 26
27 Categories of exceptional faults Eiji Adachi M. Barbosa 27
28 Categories of exceptional faults Informa on swallowed sub-categories Uninforma ve or wrong error message 7 8 Swallowed excep on 2 1 Suppressed excep on 1 2 Missing log 2 Destruc ve wrapping 2 Uninforma ve generic type thrown Eiji Tomcat Adachi M. Barbosa Hadoop 28
29 Category - Suppressed exception public void copybytes() throws IOException{ try{ //manipulate bytes finally { closestream( out ); Eiji Adachi M. Barbosa 29
30 Category - Suppressed exception public void copybytes() throws IOException{ try{ //manipulate bytes finally { closestream( out ); Eiji Adachi M. Barbosa 30
31 Category - Suppressed exception public void copybytes() throws IOException{ try{ //manipulate bytes finally { closestream( out ); Eiji Adachi M. Barbosa 31
32 Category - Suppressed exception public void copybytes() throws IOException{ try{ //manipulate bytes finally { closestream( out ); Eiji Adachi M. Barbosa 32
33 Category - Suppressed exception public void copybytes() throws IOException{ try{ //manipulate bytes finally { closestream( out ); Eiji Adachi M. Barbosa 33
34 Category - Suppressed exception public void copybytes() throws IOException{ try{ //manipulate bytes finally { closestream( out ); Eiji Adachi M. Barbosa 34
35 Category - Suppressed exception public void copybytes() throws IOException{ try{ //manipulate bytes finally { closestream( out ); Original exception does not flow out of the method AND Exception raised on the finally block does not contain information about the original exception Eiji Adachi M. Barbosa 35
36 Category Destructive remapping public void foo(){ try{ // do something catch ( IOException e ){ String s = e.getmessage(); throw new BusinessException( s ); Eiji Adachi M. Barbosa 36
37 Category Destructive remapping public void foo(){ try{ // do something Extracted from bug report: (The error is) the fact that the catch block that logs the exception is swallowing the original exception and (its) stack trace. catch ( IOException e ){ String s = e.getmessage(); throw new BusinessException( s ); Eiji Adachi M. Barbosa 37
38 Other categories Premature termination Catch block terminates without retrying I now think the best solution is catch all IOExceptions and then retry once. Overly protective try-block Try-block is very long and inadvertently guards the occurrence of many different exceptions. I believe the scope for which the FileNotFoundException' block applies is too great. Excessive Throwing Condition Exception is thrown by a condition that is not actually an exceptional condition There is no need to throw an exception and then immediately catch it and log it. The 'else throw' can be removed. Eiji Adachi M. Barbosa 38
39 Final remarks Limitations of this study: Sample Small size Both systems implemented in Java Data source Bugs are also reported on mail lists Analysis method May have missed an unknown number of faults related to exception handling Eiji Adachi M. Barbosa 39
40 Final remarks RQ: What are the causes of faults related to exception handling? 10 different macro-categories of faults related to exception handling 18 different categories, if sub-categories are considered Most faults were caused by insufficient information provided with the exception New research questions: What categories are more severe? harder to correct? How they are corrected? Eiji Adachi M. Barbosa 40
41 Final remarks Future: Replicate this study with other systems, programming languages, etc We invite you to replicate our study and contribute with new fault categories Study how faults are corrected Explore how these categories can be used to: Train developers Improve current static analysis tools to detect these categories of faults Eiji Adachi M. Barbosa 41
42 Categorizing Faults in Exception Handling: A Study of Open Source Projects Eiji Adachi Barbosa Alessandro Garcia Simone D. J. Barbosa LES DI PUC-Rio Brasil SBES-2104 Eiji Adachi M. Barbosa 42 OPUS Research Group
What are exceptions? Bad things happen occasionally
What are exceptions? Bad things happen occasionally arithmetic: 0, 9 environmental: no space, malformed input undetectable: subscript out of range, value does not meet prescribed constraint application:
More informationDesigning with Exceptions. CSE219, Computer Science III Stony Brook University http://www.cs.stonybrook.edu/~cse219
Designing with Exceptions CSE219, Computer Science III Stony Brook University http://www.cs.stonybrook.edu/~cse219 Testing vs. Debugging Testing Coding Does the code work properly YES NO 2 Debugging Testing
More informationCS 111 Classes I 1. Software Organization View to this point:
CS 111 Classes I 1 Software Organization View to this point: Data Objects and primitive types Primitive types operators (+, /,,*, %). int, float, double, char, boolean Memory location holds the data Objects
More informationI. INTRODUCTION. International Journal of Computer Science Trends and Technology (IJCST) Volume 3 Issue 2, Mar-Apr 2015
RESEARCH ARTICLE An Exception Monitoring Using Java Jyoti Kumari, Sanjula Singh, Ankur Saxena Amity University Sector 125 Noida Uttar Pradesh India OPEN ACCESS ABSTRACT Many programmers do not check for
More informationException Handling. Overloaded methods Interfaces Inheritance hierarchies Constructors. OOP: Exception Handling 1
Exception Handling Error handling in general Java's exception handling mechanism The catch-or-specify priciple Checked and unchecked exceptions Exceptions impact/usage Overloaded methods Interfaces Inheritance
More informationSoftware Construction
Software Construction Debugging and Exceptions Jürg Luthiger University of Applied Sciences Northwestern Switzerland Institute for Mobile and Distributed Systems Learning Target You know the proper usage
More informationAn Exception Monitoring System for Java
An Exception Monitoring System for Java Heejung Ohe and Byeong-Mo Chang Department of Computer Science, Sookmyung Women s University, Seoul 140-742, Korea {lutino, chang@sookmyung.ac.kr Abstract. Exception
More informationLecture J - Exceptions
Lecture J - Exceptions Slide 1 of 107. Exceptions in Java Java uses the notion of exception for 3 related (but different) purposes: Errors: an internal Java implementation error was discovered E.g: out
More informationNo no-argument constructor. No default constructor found
Every software developer deals with bugs. The really tough bugs aren t detected by the compiler. Nasty bugs manifest themselves only when executed at runtime. Here is a list of the top ten difficult and
More informationWhy Do Developers Neglect Exception Handling?
Why Do Developers Neglect Exception Handling? Hina Shah, Carsten Görg, Mary Jean Harrold College of Computing, Georgia Institute of Technology, Atlanta, Georgia, U.S.A. {hinashah,goerg,harrold}@cc.gatech.edu
More informationAll Your Code Belongs To Us Dismantling Android Secrets With CodeInspect. Steven Arzt. 04.10.2015 Secure Software Engineering Group Steven Arzt 1
All Your Code Belongs To Us Dismantling Android Secrets With CodeInspect Steven Arzt 04.10.2015 Secure Software Engineering Group Steven Arzt 1 04.10.2015 Secure Software Engineering Group Steven Arzt
More informationJAVA - EXCEPTIONS. An exception can occur for many different reasons, below given are some scenarios where exception occurs.
http://www.tutorialspoint.com/java/java_exceptions.htm JAVA - EXCEPTIONS Copyright tutorialspoint.com An exception orexceptionalevent is a problem that arises during the execution of a program. When an
More informationDocumentum Developer Program
Program Enabling Logging in DFC Applications Using the com.documentum.fc.common.dflogger class April 2003 Program 1/5 The Documentum DFC class, DfLogger is available with DFC 5.1 or higher and can only
More informationException Handling In Web Development. 2003-2007 DevelopIntelligence LLC
Exception Handling In Web Development 2003-2007 DevelopIntelligence LLC Presentation Topics What are Exceptions? How are they handled in Java development? JSP Exception Handling mechanisms What are Exceptions?
More informationWRITING DATA TO A BINARY FILE
WRITING DATA TO A BINARY FILE TEXT FILES VS. BINARY FILES Up to now, we have looked at how to write and read characters to and from a text file. Text files are files that contain sequences of characters.
More informationSoftware Engineering Techniques
Software Engineering Techniques Low level design issues for programming-in-the-large. Software Quality Design by contract Pre- and post conditions Class invariants Ten do Ten do nots Another type of summary
More informationMail User Agent Project
Mail User Agent Project Tom Kelliher, CS 325 100 points, due May 4, 2011 Introduction (From Kurose & Ross, 4th ed.) In this project you will implement a mail user agent (MUA) that sends mail to other users.
More informationTrading Robustness for Maintainability: An Empirical Study of Evolving C# Programs
Trading Robustness for Maintainability: An Empirical Study of Evolving C# Programs Nélio Cacho,Thiago César, Thomas Filipe, Eliezio Soares, Arthur Cassio, Rafael Souza, Israel Garcia Department of Informatics
More informationFirst Java Programs. V. Paúl Pauca. CSC 111D Fall, 2015. Department of Computer Science Wake Forest University. Introduction to Computer Science
First Java Programs V. Paúl Pauca Department of Computer Science Wake Forest University CSC 111D Fall, 2015 Hello World revisited / 8/23/15 The f i r s t o b l i g a t o r y Java program @author Paul Pauca
More informationBug hunting. Vulnerability finding methods in Windows 32 environments compared. FX of Phenoelit
Bug hunting Vulnerability finding methods in Windows 32 environments compared FX of Phenoelit The goal: 0day What we are looking for: Handles network side input Runs on a remote system Is complex enough
More informationTutorial for Creating Resources in Java - Client
Tutorial for Creating Resources in Java - Client Overview Overview 1. Preparation 2. Creation of Eclipse Plug-ins 2.1 The flight plugin 2.2 The plugin fragment for unit tests 3. Create an integration test
More informationTechnical paper review. Program visualization and explanation for novice C programmers by Matthew Heinsen Egan and Chris McDonald.
Technical paper review Program visualization and explanation for novice C programmers by Matthew Heinsen Egan and Chris McDonald Garvit Pahal Indian Institute of Technology, Kanpur October 28, 2014 Garvit
More informationInstrumentation Software Profiling
Instrumentation Software Profiling Software Profiling Instrumentation of a program so that data related to runtime performance (e.g execution time, memory usage) is gathered for one or more pieces of the
More informationBuilding a Multi-Threaded Web Server
Building a Multi-Threaded Web Server In this lab we will develop a Web server in two steps. In the end, you will have built a multi-threaded Web server that is capable of processing multiple simultaneous
More informationLecture 9. Semantic Analysis Scoping and Symbol Table
Lecture 9. Semantic Analysis Scoping and Symbol Table Wei Le 2015.10 Outline Semantic analysis Scoping The Role of Symbol Table Implementing a Symbol Table Semantic Analysis Parser builds abstract syntax
More informationMasters programmes in Computer Science and Information Systems. Object-Oriented Design and Programming. Sample module entry test xxth December 2013
Masters programmes in Computer Science and Information Systems Object-Oriented Design and Programming Sample module entry test xxth December 2013 This sample paper has more questions than the real paper
More informationTopics 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
More informationpublic static void main(string[] args) { System.out.println("hello, world"); } }
Java in 21 minutes hello world basic data types classes & objects program structure constructors garbage collection I/O exceptions Strings Hello world import java.io.*; public class hello { public static
More informationUsing Files as Input/Output in Java 5.0 Applications
Using Files as Input/Output in Java 5.0 Applications The goal of this module is to present enough information about files to allow you to write applications in Java that fetch their input from a file instead
More informationwww.virtualians.pk CS506 Web Design and Development Solved Online Quiz No. 01 www.virtualians.pk
CS506 Web Design and Development Solved Online Quiz No. 01 Which of the following is a general purpose container? JFrame Dialog JPanel JApplet Which of the following package needs to be import while handling
More informationSpecifying and Dynamically Monitoring the Exception Handling Policy
Specifying and Dynamically Monitoring the Exception Handling Policy Joilson Abrantes Dep. of Informatics and Applied Mathematics Federal University of Rio Grande do Norte Brazil joilson@ppgsc.ufrn.br Roberta
More informationRegression Test Selection for Java Software
Proc. of the ACM Conf. on OO Programming, Systems, Languages, and Applications (OOPSLA ), ACM Copyright. Regression Test Selection for Java Software Mary Jean Harrold harrold@cc.gatech.edu Alessandro Orso
More informationMonitoring and Managing a JVM
Monitoring and Managing a JVM Erik Brakkee & Peter van den Berkmortel Overview About Axxerion Challenges and example Troubleshooting Memory management Tooling Best practices Conclusion About Axxerion Axxerion
More informationUI Performance Monitoring
UI Performance Monitoring SWT API to Monitor UI Delays Terry Parker, Google Contents 1. 2. 3. 4. 5. 6. 7. Definition Motivation The new API Monitoring UI Delays Diagnosing UI Delays Problems Found! Next
More informationD06 PROGRAMMING with JAVA
Cicles Formatius de Grau Superior Desenvolupament d Aplicacions Informàtiques D06 PROGRAMMING with JAVA Ch15 Exception Handling PowerPoint presentation, created by Angel A. Juan - ajuanp(@)gmail.com, for
More informationZebra and MapReduce. Table of contents. 1 Overview...2 2 Hadoop MapReduce APIs...2 3 Zebra MapReduce APIs...2 4 Zebra MapReduce Examples...
Table of contents 1 Overview...2 2 Hadoop MapReduce APIs...2 3 Zebra MapReduce APIs...2 4 Zebra MapReduce Examples... 2 1. Overview MapReduce allows you to take full advantage of Zebra's capabilities.
More informationExplain the relationship between a class and an object. Which is general and which is specific?
A.1.1 What is the Java Virtual Machine? Is it hardware or software? How does its role differ from that of the Java compiler? The Java Virtual Machine (JVM) is software that simulates the execution of a
More informationWhere Do Developers Log? An Empirical Study on Logging Practices in Industry
Where Do Developers Log? An Empirical Study on Logging Practices in Industry Qiang Fu 1, Jieming Zhu 2, Wenlu Hu 3, Jian-Guang Lou 1, Rui Ding 1, Qingwei Lin 1, Dongmei Zhang 1, Tao Xie 4 1 Microsoft Research
More informationEvaluating and Comparing the Impact of Software Faults on Web Servers
Evaluating and Comparing the Impact of Software Faults on Web Servers April 2010, João Durães, Henrique Madeira CISUC, Department of Informatics Engineering University of Coimbra {naaliel, jduraes, henrique}@dei.uc.pt
More informationOverview of Web Services API
1 CHAPTER The Cisco IP Interoperability and Collaboration System (IPICS) 4.5(x) application programming interface (API) provides a web services-based API that enables the management and control of various
More informationSoftware Construction
Software Construction Documentation and Logging Jürg Luthiger University of Applied Sciences Northwestern Switzerland Institute for Mobile and Distributed Systems Learning Target You can use Mock Objects
More informationVerification 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 christina.wallin@mdh.se
More informationBusiness Application Services Testing
Business Application Services Testing Curriculum Structure Course name Duration(days) Express 2 Testing Concept and methodologies 3 Introduction to Performance Testing 3 Web Testing 2 QTP 5 SQL 5 Load
More informationFile class in Java. Scanner reminder. Files 10/19/2012. File Input and Output (Savitch, Chapter 10)
File class in Java File Input and Output (Savitch, Chapter 10) TOPICS File Input Exception Handling File Output Programmers refer to input/output as "I/O". The File class represents files as objects. The
More information15-415 Database Applications Recitation 10. Project 3: CMUQFlix CMUQ s Movies Recommendation System
15-415 Database Applications Recitation 10 Project 3: CMUQFlix CMUQ s Movies Recommendation System Project Objective 1. Set up a front-end website with PostgreSQL back-end 2. Allow users to login, like
More information1. Properties of Transactions
Department of Computer Science Software Development Methodology Transactions as First-Class Concepts in Object-Oriented Programming Languages Boydens Jeroen Steegmans Eric 13 march 2008 1. Properties of
More informationCreating a Simple, Multithreaded Chat System with Java
Creating a Simple, Multithreaded Chat System with Java Introduction by George Crawford III In this edition of Objective Viewpoint, you will learn how to develop a simple chat system. The program will demonstrate
More informationVersion Control. Luka Milovanov lmilovan@abo.fi
Version Control Luka Milovanov lmilovan@abo.fi Configuration Management Configuration management is the management of system change to software products Version management: consistent scheme of version
More informationLicensed for viewing only. Printing is prohibited. For hard copies, please purchase from www.agileskills.org
Unit Test 301 CHAPTER 12Unit Test Unit test Suppose that you are writing a CourseCatalog class to record the information of some courses: class CourseCatalog { CourseCatalog() { void add(course course)
More informationCrowdsourcing suggestions to programming problems for dynamic web development languages
Crowdsourcing suggestions to programming problems for dynamic web development languages Dhawal Mujumdar School of Information University of California, Berkeley 102 South Hall Berkeley, CA 94720 dhawal@ischool.berkeley.edu
More informationTesting and Inspecting to Ensure High Quality
Testing and Inspecting to Ensure High Quality Basic definitions A failure is an unacceptable behaviour exhibited by a system The frequency of failures measures the reliability An important design objective
More informationComparing the Effectiveness of Penetration Testing and Static Code Analysis
Comparing the Effectiveness of Penetration Testing and Static Code Analysis Detection of SQL Injection Vulnerabilities in Web Services PRDC 2009 Nuno Antunes, nmsa@dei.uc.pt, mvieira@dei.uc.pt University
More informationWhite Paper March 1, 2005. Integrating AR System with Single Sign-On (SSO) authentication systems
White Paper March 1, 2005 Integrating AR System with Single Sign-On (SSO) authentication systems Copyright 2005 BMC Software, Inc. All rights reserved. BMC, the BMC logo, all other BMC product or service
More informationThe most annoying aspect of software development,
design Editor: Martin Fowler ThoughtWorks fowler@acm.org Fail Fast Jim Shore The most annoying aspect of software development, for me, is debugging. I don t mind the kinds of bugs that yield to a few minutes
More information16.1 DataFlavor. 16.1.1 DataFlavor Methods. Variables
In this chapter: DataFlavor Transferable Interface ClipboardOwner Interface Clipboard StringSelection UnsupportedFlavorException Reading and Writing the Clipboard 16 Data Transfer One feature that was
More informationPROBLEM SOLVING SEVENTH EDITION WALTER SAVITCH UNIVERSITY OF CALIFORNIA, SAN DIEGO CONTRIBUTOR KENRICK MOCK UNIVERSITY OF ALASKA, ANCHORAGE PEARSON
PROBLEM SOLVING WITH SEVENTH EDITION WALTER SAVITCH UNIVERSITY OF CALIFORNIA, SAN DIEGO CONTRIBUTOR KENRICK MOCK UNIVERSITY OF ALASKA, ANCHORAGE PEARSON Addison Wesley Boston San Francisco New York London
More informationInternet and Intranet Protocols and Applications
Internet and Intranet Protocols and Applications Lecture 9x: Grading the SMTP Assignment March 26, 2003 Arthur Goldberg Computer Science Department New York University artg@cs.nyu.edu Basic Functionality
More informationJava EE Web Development Course Program
Java EE Web Development Course Program Part I Introduction to Programming 1. Introduction to programming. Compilers, interpreters, virtual machines. Primitive types, variables, basic operators, expressions,
More informationIBM SDK, Java Technology Edition Version 1. IBM JVM messages IBM
IBM SDK, Java Technology Edition Version 1 IBM JVM messages IBM IBM SDK, Java Technology Edition Version 1 IBM JVM messages IBM Note Before you use this information and the product it supports, read the
More informationTABLE OF CONTENTS...2 INTRODUCTION...3 APPLETS AND APPLICATIONS...3 JAVABEANS...4 EXCEPTION HANDLING...5 JAVA DATABASE CONNECTIVITY (JDBC)...
Advanced Features Trenton Computer Festival May 1 sstt & 2 n d,, 2004 Michael P.. Redlich Senior Research Technician ExxonMobil Research & Engineering michael..p..redlich@exxonmobil..com Table of Contents
More informationScanner. It takes input and splits it into a sequence of tokens. A token is a group of characters which form some unit.
Scanner The Scanner class is intended to be used for input. It takes input and splits it into a sequence of tokens. A token is a group of characters which form some unit. For example, suppose the input
More informationAn Eclipse Plug-In for Visualizing Java Code Dependencies on Relational Databases
An Eclipse Plug-In for Visualizing Java Code Dependencies on Relational Databases Paul L. Bergstein, Priyanka Gariba, Vaibhavi Pisolkar, and Sheetal Subbanwad Dept. of Computer and Information Science,
More informationGetting Started with the Internet Communications Engine
Getting Started with the Internet Communications Engine David Vriezen April 7, 2014 Contents 1 Introduction 2 2 About Ice 2 2.1 Proxies................................. 2 3 Setting Up ICE 2 4 Slices 2
More informationBIG DATA IN THE CLOUD : CHALLENGES AND OPPORTUNITIES MARY- JANE SULE & PROF. MAOZHEN LI BRUNEL UNIVERSITY, LONDON
BIG DATA IN THE CLOUD : CHALLENGES AND OPPORTUNITIES MARY- JANE SULE & PROF. MAOZHEN LI BRUNEL UNIVERSITY, LONDON Overview * Introduction * Multiple faces of Big Data * Challenges of Big Data * Cloud Computing
More informationOSGi Service Platform Release 4
OSGi Service Platform Release 4 Version 4.3 Early Draft 3 Revision 1.2 24 November 2010 2010 OSGi Alliance. OSGi Service Platform Release 4 Version 4.3 Early Draft 3 Copyright OSGi Alliance 2010.. DISTRIBUTION
More informationData Flow Static Code Analysis Best Practices
Data Flow Static Code Analysis Best Practices Introduction This paper examines why and how to add flow analysis to your existing testing strategies. After introducing the general concept and benefits of
More informationA TOOL FOR DATA STRUCTURE VISUALIZATION AND USER-DEFINED ALGORITHM ANIMATION
A TOOL FOR DATA STRUCTURE VISUALIZATION AND USER-DEFINED ALGORITHM ANIMATION Tao Chen 1, Tarek Sobh 2 Abstract -- In this paper, a software application that features the visualization of commonly used
More informationLogging in Java Applications
Logging in Java Applications Logging provides a way to capture information about the operation of an application. Once captured, the information can be used for many purposes, but it is particularly useful
More informationCS 6371: Advanced Programming Languages
CS 6371: Advanced Programming Languages Dr. Kevin Hamlen Spring 2014 Fill out, sign, and return prereq forms: Course number: CS 6371 Section: 1 Prerequisites: CS 5343: Algorithm Analysis & Data Structures
More informationA Thread Monitoring System for Multithreaded Java Programs
A Thread Monitoring System for Multithreaded Java Programs Sewon Moon and Byeong-Mo Chang Department of Computer Science Sookmyung Women s University, Seoul 140-742, Korea wonsein@nate.com, chang@sookmyung.ac.kr
More informationCapabilities of a Java Test Execution Framework by Erick Griffin
Capabilities of a Java Test Execution Framework by Erick Griffin Here we discuss key properties and capabilities of a Java Test Execution Framework for writing and executing discrete Java tests for testing
More informationSTATIC CODE ANALYSIS Alexandru G. Bardas 1
Abstract STATIC CODE ANALYSIS Alexandru G. Bardas 1 A lot of the defects that are present in a program are not visible to the compiler. Static code analysis is a way to find bugs and reduce the defects
More informationWind River Device Management. 2007 Wind River
Wind River Device Management Quality, TTM and Uptime Challenges Development SW Quality Assurance Deployment Implementation Software Integration Testing Verification Testing Validation Testing Field Trial
More informationJava Interview Questions and Answers
1. What is the most important feature of Java? Java is a platform independent language. 2. What do you mean by platform independence? Platform independence means that we can write and compile the java
More informationHow to test and debug an ASP.NET application
Chapter 4 How to test and debug an ASP.NET application 113 4 How to test and debug an ASP.NET application If you ve done much programming, you know that testing and debugging are often the most difficult
More informationProgramming Without a Call Stack: Event-driven Architectures
Gregor Hohpe Google Programming Without a Call Stack: -driven Architectures www.eaipatterns.com Who's Gregor? Distributed systems, enterprise integration, service-oriented architectures MQ, MSMQ, JMS,
More informationCS193j, Stanford Handout #10 OOP 3
CS193j, Stanford Handout #10 Summer, 2003 Manu Kumar OOP 3 Abstract Superclass Factor Common Code Up Several related classes with overlapping code Factor common code up into a common superclass Examples
More informationBIG DATA, MAPREDUCE & HADOOP
BIG, MAPREDUCE & HADOOP LARGE SCALE DISTRIBUTED SYSTEMS By Jean-Pierre Lozi A tutorial for the LSDS class LARGE SCALE DISTRIBUTED SYSTEMS BIG, MAPREDUCE & HADOOP 1 OBJECTIVES OF THIS LAB SESSION The LSDS
More informationB.Sc (Honours) - Software Development
Galway-Mayo Institute of Technology B.Sc (Honours) - Software Development E-Commerce Development Technologies II Lab Session Using the Java URLConnection Class The purpose of this lab session is to: (i)
More informationprotocol fuzzing past, present, future
protocol fuzzing past, present, future luiz eduardo senior systems & security engineer leduardo (at) musecurity.com Hack in the Box 07 - Kuala Lumpur Mu Security, Inc. All Rights Reserved Copyright 2007
More informationAdapting C++ Exception Handling to an Extended COM Exception Model
Adapting C++ Exception Handling to an Extended COM Exception Model Bjørn Egil Hansen DNV AS, DT 990 Risk Management Software Palace House, 3 Cathedral Street, London SE1 9DE, UK Bjorn.Egil.Hansen@dnv.com
More informationActiveVOS Server Architecture. March 2009
ActiveVOS Server Architecture March 2009 Topics ActiveVOS Server Architecture Core Engine, Managers, Expression Languages BPEL4People People Activity WS HT Human Tasks Other Services JMS, REST, POJO,...
More informationASSURE: Automatic Software Self- Healing Using REscue points. Automatically Patching Errors in Deployed Software (ClearView)
ASSURE: Automatic Software Self- Healing Using REscue points Automatically Patching Errors in Deployed Software (ClearView) Strategies for resolving vulnerabilities Techniques exist for detecting or preventing
More informationProduct Review: James F. Koopmann Pine Horse, Inc. Quest Software s Foglight Performance Analysis for Oracle
Product Review: James F. Koopmann Pine Horse, Inc. Quest Software s Foglight Performance Analysis for Oracle Introduction I ve always been interested and intrigued by the processes DBAs use to monitor
More informationAP Computer Science File Input with Scanner
AP Computer Science File Input with Scanner Subset of the Supplement Lesson slides from: Building Java Programs, Chapter 6 by Stuart Reges and Marty Stepp (http://www.buildingjavaprograms.com/ ) Input/output
More informationProgramming the Flowoid NetFlow v9 Exporter on Android
INSTITUT NATIONAL DE RECHERCHE EN INFORMATIQUE ET EN AUTOMATIQUE Programming the Flowoid NetFlow v9 Exporter on Android Julien Vaubourg N 7003 April 2013 THÈME? apport technique ISSN 0249-0803 Programming
More informationAndroid Application Development Course Program
Android Application Development Course Program Part I Introduction to Programming 1. Introduction to programming. Compilers, interpreters, virtual machines. Primitive data types, variables, basic operators,
More informationHeapStats: Your Dependable Helper for Java Applications, from Development to Operation
: Technologies for Promoting Use of Open Source Software that Contribute to Reducing TCO of IT Platform HeapStats: Your Dependable Helper for Java Applications, from Development to Operation Shinji Takao,
More informationPeach Fuzzer Platform
Fuzzing is a software testing technique that introduces invalid, malformed, or random data to parts of a computer system, such as files, network packets, environment variables, or memory. How the tested
More informationCS314: Course Summary
CS314: Course Summary Prof. Robert B. France Dept. of Computer Science Colorado State University Robert B. France 1 1 Software Development Issues Explored - 1 Software engineering basics Why do we need
More informationReplication on Virtual Machines
Replication on Virtual Machines Siggi Cherem CS 717 November 23rd, 2004 Outline 1 Introduction The Java Virtual Machine 2 Napper, Alvisi, Vin - DSN 2003 Introduction JVM as state machine Addressing non-determinism
More informationData 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 bo@cs.ucsb.edu bultan@cs.ucsb.edu Abstract. In today s internet-centric world, web
More informationThe Java Logging API and Lumberjack
The Java Logging API and Lumberjack Please Turn off audible ringing of cell phones/pagers Take calls/pages outside About this talk Discusses the Java Logging API Discusses Lumberjack Does not discuss log4j
More informationComparing 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
More informationProgramming and Software Development (PSD)
Programming and Software Development (PSD) Course Descriptions Fundamentals of Information Systems Technology This course is a survey of computer technologies. This course may include computer history,
More informationFramework Patterns: Exception Handling, Logging, and Tracing
ch02.fm Page 45 Thursday, July 17, 2003 2:37 PM 2 Framework Patterns: Exception Handling, Logging, and Tracing OVERVIEW One of the primary success factors for implementing a robust framework is providing
More informationJava from a C perspective. Plan
Java from a C perspective Cristian Bogdan 2D2052/ingint04 Plan Objectives and Book Packages and Classes Types and memory allocation Syntax and C-like Statements Object Orientation (minimal intro) Exceptions,
More informationTransport layer protocols. Message destination: Socket +Port. Asynchronous vs. Synchronous. Operations of Request-Reply. Sockets
Transport layer protocols Interprocess communication Synchronous and asynchronous comm. Message destination Reliability Ordering Client Server Lecture 15: Operating Systems and Networks Behzad Bordbar
More information13 File Output and Input
SCIENTIFIC PROGRAMMING -1 13 File Output and Input 13.1 Introduction To make programs really useful we have to be able to input and output data in large machinereadable amounts, in particular we have to
More informationElastic Map Reduce. Shadi Khalifa Database Systems Laboratory (DSL) khalifa@cs.queensu.ca
Elastic Map Reduce Shadi Khalifa Database Systems Laboratory (DSL) khalifa@cs.queensu.ca The Amazon Web Services Universe Cross Service Features Management Interface Platform Services Infrastructure Services
More information