+ All Categories
Home > Documents > Evaluating Web Software Reliability

Evaluating Web Software Reliability

Date post: 22-Feb-2016
Category:
Upload: afya
View: 54 times
Download: 0 times
Share this document with a friend
Description:
CSI518 – Group 1. Evaluating Web Software Reliability. By Zumrut Akcam, Kim Gero, Allen Chestoski, Javian Li & Rohan Warkad . Agile Development. What is Agile ? Focus on business value Collaboration within team; meetings Communication is key Sprints, prototypes, feedback - PowerPoint PPT Presentation
35
Evaluating Web Software Reliability By Zumrut Akcam, Kim Gero, Allen Chestoski, Javian Li & Rohan Warkad CSI518 – Group 1
Transcript
Page 1: Evaluating Web Software Reliability

Evaluating Web Software Reliability

By Zumrut Akcam, Kim Gero, Allen Chestoski,Javian Li & Rohan Warkad

CSI518 – Group 1

Page 2: Evaluating Web Software Reliability

Agile Development

Page 3: Evaluating Web Software Reliability

The Agile Development Process

What is Agile? Focus on business value Collaboration within team; meetings Communication is key Sprints, prototypes, feedback Changing requirements

Page 4: Evaluating Web Software Reliability

The Agile Development Process

How does Agile work?

How did our class use Agile?

Three Sprints

“Stand up” meetings at beginning of each class

Retrospective at the end of each sprint

Page 5: Evaluating Web Software Reliability

Overview

Page 6: Evaluating Web Software Reliability

Definition of Reliability

What is reliability for Web applications?

The reliability for Web applications can be defined as the probability of failure-free Web operation completions.[2]

Failure is “the event of a system deviating from its specified behavior like obtaining or delivering information”.[1]

Page 7: Evaluating Web Software Reliability

Failure Sources

Failures are caused from the following sources:

Host, network or browser failures: computer systems, network or software failures, etc.

Source content failures: missing, inaccessible files, JavaScript errors, etc.

User errors: improper usage, mistyped URLs.[2]

Page 8: Evaluating Web Software Reliability

Project Goal

Attempt to extend previous work on testing the reliability of websites.

Gain experience doing a research project

Page 9: Evaluating Web Software Reliability

Sprint 1

Page 10: Evaluating Web Software Reliability

Sprint 1 Goals

Read relevant research papers

Identify factors that may effect reliability analysis

Gather status logs

Page 11: Evaluating Web Software Reliability

Factors That May EffectReliability Analysis

Web Workload Characteristics Byte Count

User Count

Session Count

Error Count

Page 12: Evaluating Web Software Reliability

System to Analyze Reliability On

Reliability analysis via status logs

Variety of reliability requirements

Commercial and non-commercial

We will try to record the technologies the websites employ (Apache, DNN, ISS, PHP, ColdFusion, etc..)

Page 13: Evaluating Web Software Reliability

Sprint 2

Page 14: Evaluating Web Software Reliability

Sprint 2 Goals

Collect log files for calculation

Automate processes to extra data (user, session, byte, and error counts)

Convert them into excel format

Log Parser

Page 15: Evaluating Web Software Reliability

Sprint 2 Progress

DNN Logs (10 Websites)

PHP Logs

Page 16: Evaluating Web Software Reliability

What is DotNetNuke (DNN)

.NET version of Drupal An open source platform for building websites and web applications based on Microsoft .Net technology. Leading open source ASP.NET web content management Has been downloaded over 6 million times ~100 employees 5th Version Founded 2006

Page 17: Evaluating Web Software Reliability

Our DNN Logs

Logs from 10 Websites Window Server (Same Server) SQL Server 2008 ~1000 unique visitors per day Logs contain

User count Limited Error count

Page 18: Evaluating Web Software Reliability

Major Problem

The DNN Logs do not contain Session count Byte count

Page 19: Evaluating Web Software Reliability

Alternative

Generate our own DNN logs

Page 20: Evaluating Web Software Reliability

Sprint 3

Page 21: Evaluating Web Software Reliability

Server Side

Technologies Used Windows XP Professional

Microsoft Internet Information Services (IIS)

Microsoft SQL Server 2008

DotNetNuke (DNN)

Page 22: Evaluating Web Software Reliability

Generating Logs

Clients Web-Crawlers DotNetNuke Client API

Inducing Errors

Logs contain: Client IP’s Byte Counts (Uploaded & Downloaded) Time-Taken Status Code

Page 23: Evaluating Web Software Reliability

Description of Success Status Codes

Status Code Meaning Description200 OK The request was received, understood, and

being processed.206 Partial

ContentResponse to a request for part of a document. Just the section requested is returned.

302 Found Requested resource was moved to a new location. Response includes new location.

304 Not Modified

Response to a request for a document on the condition it is newer than the version the client has.

Page 24: Evaluating Web Software Reliability

Description of Error Codes

Status Code Meaning Description400 Bad Request The server did not understand the request

due to bad syntax401 Unauthorized Indicates that before a resource can be

accessed, the client must be authorized by the server.

403 Forbidden The client cannot access the requested resource. Possible incorrect username & password, or permissions do not allow the action.

404 Not Found The requested resource was not found at the supplied URL.

500 Internal Server Error

Indicates that the server encountered something unexpected and was unable to complete the request.

Page 25: Evaluating Web Software Reliability

Results

Page 26: Evaluating Web Software Reliability

Workload Measurement Facts

Server log data consisted of 23 consecutive days of data.

Page Not Found (Error 404) is the most common type of error in our logs, with 46% of total recorded errors.

Accessing forbidden data (Error 403) follows with 41%.

72 unique IPs, 33 thousand hits total, and each hit associated with about 5kb.

Page 27: Evaluating Web Software Reliability

Status Code-Bytes Graphic

200 302 404 403 304 401 206 500 400 -

20,000,000

40,000,000

60,000,000

80,000,000

100,000,000

120,000,000

140,000,000

160,000,000

Bytes DownloadedBytes Uploaded

HTTP Status Codes

Page 28: Evaluating Web Software Reliability

Error and Success RatiosHTTPStatus Codes*

Description

200 OK

206 Partial Content

302 Found

304 Not Modified

400 Bad Request

401 Unauthorized

403 Forbidden

404 Not Found

500 Internal Server Error

20089%

3027%

4041%

4031% 304

1%4010%

2060%

5000%

4000%

STATUS-BYTES-Server To Client

20018%

30268%

4041%

4031%

30411% 401

0%2060%

5000%

4000%

STATUS-BYTES-Client to Server

SUCCESS

ERROR

*HTTP Status Codes definedBy W3C-World Wide WebConsortium.

Page 29: Evaluating Web Software Reliability

500-Internal Server Error Profile

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 370

2000

4000

6000

8000

10000

12000

14000

16000

"500"-Internal Server Error Byte Transferred Over Time

sc-bytescs-bytestime-taken

# of Times "500" status happened

# o

f By

tes

Tran

sfer

red

Page 30: Evaluating Web Software Reliability

Number of Status Codes

302 200 304 404 403 401 500 206 4000

2000

4000

6000

8000

10000

12000

14000

16000

18000

16764

81906901

514 467 89 43 1 1

Status Code Counts

HTTP Status Codes

# o

f St

atus

Cod

es

Page 31: Evaluating Web Software Reliability

Average Time Taken By Different Status Codes

200 206 302 304 400 401 403 404 5000

200

400

600

800

1000

1200

1400

691

1171

1011 100

4 8 6

252

Average Time Taken for Each Status Code

HTTP Status Codes

Aver

age

Tim

e Ta

ken

(ms)

Page 32: Evaluating Web Software Reliability

Identify a metric to analyze reliability

The Nelson Model

R: Reliability f : Total number of failures n: Number of workload units r: Failure rate

Mean Time Between Failures (MTBF)

MTBF = n/f

Page 33: Evaluating Web Software Reliability

Conclusions

• By Nelson Model, the site software reliability is R = 0.966, or that 96.6% of access to website is successful.

• This model also shows that MTBF=29.6 hits or the site averages one error for every 29.6 hits.

• From the number of errors chart, we can see that Server errors are very few among the other errors which shows what the reliability of the DNN server is.

Page 34: Evaluating Web Software Reliability

Conclusions [1] J.Tian, S.Rudraraju, Z.Li, “Evaluating Web Software Reliability Based on Workload and Failure Data Extracted from Server Logs”,2004.

Our Work Previous Work[1]

23 days data 26 days data96.6% success 96.2% success29.6 hits/error 26.6 hits/error148,579 bytes per error

273,927 bytes per error

Page 35: Evaluating Web Software Reliability

Resources

[1] Jeff Tian, Sunita Rudraraju, and Zhao Li. 2004. Evaluating Web Software Reliability Based on Workload and Failure Data Extracted from Server Logs. IEEE Trans. Softw. Eng. 30, 11 (November 2004), 754-769. DOI=10.1109/TSE.2004.87 http://dx.doi.org/10.1109/TSE.2004.87

[2] Toan Huynh and James Miller. 2009. Another viewpoint on "evaluating web software reliability based on workload and failure data extracted from server logs". Empirical Softw. Engg. 14, 4 (August 2009), 371-396. DOI=10.1007/s10664-008-9084-6 http://dx.doi.org/10.1007/s10664-008-9084-6

[3] G. Albeanu, A. Averian, I. Duda, “Web Software Reliability Engineering”,2009.


Recommended