application reliability
Download
Skip this Video
Download Presentation
Application Reliability

Loading in 2 Seconds...

play fullscreen
1 / 25

Application Reliability - PowerPoint PPT Presentation


  • 82 Views
  • Uploaded on

Application Reliability. Robert J. Conti. Prelude…. If you thought designing and coding that program was hard, you ain’t seen nothing yet . GJ Myers, 1979 Testing of Java Web Services for Robustness . Chen Fu, Barbara G. Ryder, Ana Milanova, & David Wonnacott. ISSTA 2004. Today’s Agenda….

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'Application Reliability' - paiva


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
application reliability

Application Reliability

Robert J. Conti

GCUU CSc-299 Graduate Seminar

prelude
Prelude…

If you thought designing and coding that program was hard, you ain’t seen nothing yet.

  • GJ Myers, 1979

Testing of Java Web Services for Robustness. Chen Fu, Barbara G. Ryder, Ana Milanova, & David Wonnacott. ISSTA 2004.

GCUU CSc-299 Graduate Seminar

today s agenda
Today’s Agenda…
  • Introduction
  • A Step Back – What’s Def-Use Testing?
  • Application Reliability
  • Concluding Remarks
  • Q & A

GCUU CSc-299 Graduate Seminar

introduction drilling down
Introduction – Drilling Down…

Application Reliability

Web Services

Java Web Services

IOEx

GCUU CSc-299 Graduate Seminar

introduction java exceptions
Introduction - Java Exceptions…

void method1( )

{

...

try {

method2(“a:\\file.txt”); }

catch (IOException e) {

e.printStackTrace(System.out); }

...

}

void method2(String file) throws IOException

{

...

InputStream in = new FileInputStream(file);

int c = in.read( );

...

}

  • exception
  • throw
  • try
  • catch

GCUU CSc-299 Graduate Seminar

a step back what s def use testing
A Step Back – What’s def-use testing?
  • Black-box testing
  • White-box testing
    • Control-flow
      • e.g., statement
    • Data-flow
      • e.g., def-use

GCUU CSc-299 Graduate Seminar

a step back what s def use testing1
A Step Back – What’s def-use testing?
  • Def-use
  • 3 occurrences
    • def
    • c-use
    • p-use

GCUU CSc-299 Graduate Seminar

a step back what s def use testing2
A Step Back – What’s def-use testing?
  • Program graph
    • def
    • c-use
    • p-use

GCUU CSc-299 Graduate Seminar

a step back what s def use testing3
A Step Back – What’s def-use testing?
  • New family of path selection criteria
  • Bridges the gap
  • Why do we care?

GCUU CSc-299 Graduate Seminar

application reliability metrics
Application Reliability - Metrics…
  • How can you gauge reliability?
    • By using e-c links and test set T
    • Determine set of faults (i.e., IOExceptions)
    • Determine F  { set of e-c links }
    • Determine E  { set of e-c links covered by T }

Overall Exception Def-Catch Coverage = E / F

GCUU CSc-299 Graduate Seminar

application reliability metrics1
Application Reliability - Metrics…

Reliability Faults

  • The big picture

Web Service

F

E

|E| / |F|

GCUU CSc-299 Graduate Seminar

application reliability mendosus
Application Reliability - Mendosus…
  • Mendosus is a fault injection engine
    •  try  F – insert methods to request fault
    •  catch  F – insert method to record call stack (for E) and to cancel fault
    • Only one fault will be tested at a time
    • The facilitator behind this is the e-c link analysis

GCUU CSc-299 Graduate Seminar

application reliability mendosus1
Application Reliability - Mendosus…

GCUU CSc-299 Graduate Seminar

application reliability e c link analysis
Part I

Part II

Application Reliability – e-c Link Analysis…
  • Part I – Exception flow analysis
  • AST
  • Call graph
  • Compiler dataflow equations
  • Defines e-c links
  • Imprecise due to infeasible link generation!

GCUU CSc-299 Graduate Seminar

application reliability e c link analysis1
Application Reliability – e-c Link Analysis…
  • Infeasible links
    • readFile( )
    • readNet( )

BufferInputStream

.fill()

GCUU CSc-299 Graduate Seminar

application reliability e c link analysis2
Application Reliability – e-c Link Analysis…

readFile() readNet()

FilterInputStream.read()

BufferedInputStream.read()

BufferInputStream.fill()

FileInputStream.read() SocketInputStream.read()



  • Infeasible links (cont’d)
  • Twice the e-c links
  • How to fix?

GCUU CSc-299 Graduate Seminar

application reliability e c link analysis3
Application Reliability – e-c Link Analysis…
  • Part II – Data reach analysis
  • Post pass filter
  • Call graph
  • Points-to graph
  • Removes infeasible links!

Part I

Part II

GCUU CSc-299 Graduate Seminar

application reliability empirical results1
Application Reliability – Empirical Results…
  • The setup

Java

Web Service

(Benchmark)

Configuration

E-C Link

Analysis

E/F

Reliability Faults

(IOEx)

GCUU CSc-299 Graduate Seminar

application reliability empirical results3
e-c Links and CoverageApplication Reliability – Empirical Results…

Overall Exception

Def-Catch Coverage

GCUU CSc-299 Graduate Seminar

concluding remarks
Concluding Remarks…
  • Summary
    • Java web services and IOExceptions
    • White-box data-flow def-use testing
    • Exception flow def-use
    • Overall Exception Def-Catch Coverage
    • Mendosus
    • e-c link analysis (E-F and DR)
    • Coverage

GCUU CSc-299 Graduate Seminar

concluding remarks1
Concluding Remarks…
  • Conclusions
    • Telephone System
    • Outside the box
    • Compiler techniques
    • Other Java programs
    • To be continued…

GCUU CSc-299 Graduate Seminar

questions answers
Questions & Answers…

?

GCUU CSc-299 Graduate Seminar

ad