Está en la página 1de 19

1

Web Browsers

Submitted by

Amogh Kulkarni (05CO05) Jaison Salu John (05CO29) Yohan John Thampi (05CO67) Shravan Udaykumar (05CO59) Gaurav Prasad(08IS03F) Vrinda Halarnkar (08IS04F)

DEPARTMENT OF COMPUTER ENGINEERING NATIONAL INSTITUTE OF TECHNOLOGY KARNATAKA SURATHKAL 575 025 March 2009
1

ABSTRACT
Web browser is the most commonly used client application and speed and efficiency of our online work depends on browser to a great extent. As the market is flooding with new browsers there is a lot of confusion in everyones mind as to which is the best browser.Our project aims to answer this question. We have done a comparative study of the four most popular web browsers namely Mozilla Firefox, Internet Explorer, Google Chrome, Opera. In the first phase of our project various comparison parameters are selected which can be broadly categorized into -General Features, Security features and browser extensibility features. Using the selected benchmarking tools each browser is tested. We have also use our own test scripts for some parameters .Depending on the performance of the browser points are assigned to each browser .Public opinion is considered for usability issue and finally we have come to a conclusion that opera and firefox are leading the browser war. firefox has finished first scoring 49.84 and opera has scored the next highest 48.90 Our other contributions include a K-chromium browser ,addon for firefox and scripts showing the major browser attacks. The report gives details of work done by our team from Jan 6th 2008 till March 29th 2008.

I. INTRODUCTION

The World Wide Web has come a long way in its short existence. Without it, many people wouldnt know what to do with their day. And others literally couldnt survive without it. To browse the internet we use browser. A browser provides a user interface for displaying and selecting items from a list of data or from hierarchically organized lists of data such as directory paths. We can tell that browser is the most commonly used client side application. Earlier the choice of the browser was limited but this is no longer the situation now. Numbers of options are available making the choice of web browser difficult and confusing. Mainstream browsers are getting tough competition from the upcoming alternatives each one having its own unique features. Hence making a right choice is a daunting task. The main reason that motivates us to work on this project is that nowadays the users just use any browser they get without knowing its positives and negatives. Our project aims clear the confusion in users mind by systematically testing the browsers and deciding the best choice for different categories of users. First we discuss about the importance of a browser and its general architecture. In section III we elaborate our evaluation strategy. In section IV, V , VI VII we list and justify our selection of browsers, test environment ,parameters and benchmarks . Section VIII gives the details of the tools/scripts developed by us and the test results. Section IX gives discusses the security issues of the browser . Section X we list out the points of each browser .

II. WHY WEB BROWSERS ARE SO IMPORTANT?


Today most of what we use the web for isnt just web pages, they are applications. Users upload download videos, chat, play online games, and use many other web services. Web browser is becoming more and more important as an application used to conduct billions of dollars of Internet-enabled commerce each year. It has evolved signicantly over the past fteen years. Web browsers run on diverse types of hardware, from cell phones and tablet PCs to desktop computers. Hence a proper design becomes very important. Reference architecture for web browsers can help implementers to understand trade-os when designing new systems, and can assist maintainers in understanding legacy code. A web browser is client side application program that contacts remote servers and retrieves documents from it and displays them on screen, either within the browser window itself or by passing the document to an external helper application. It allows particular resources to be

3 requested explicitly by URI, or implicitly by following embedded hyperlinks. Many other features are provided by browser which increases the ease of use. For example, most browsers keep track of recently visited web pages and provide a mechanism for book-marking pages of interest. They may also store commonly entered form values as well as usernames and passwords. Finally, browsers often provide accessibility features to accommodate users with disabilities such as blindness and low vision, hearing loss, and motor impairments Browser Jargon you will come across in this report : Plug-in or Add-on : It consists of a computer program that interacts with a host application in our case a web browser to provide a certain specific function on demand . Extension :is a program designed to to be incorporated into web browser to extend the functionality of the later . On its own an extension is non-functional BHO : Browser Help Object, BHO is a help object added to your Internet browser. For example the Google Toolbar is considered a Browser Help Object; this add-on enables users to perform Google searches through the toolbar and contains additional features that help improve a user's experience.

III. Evaluation Method: Why are we different?


We started by performing a literature survey of the latest research papers, articles and whitepapers on browsers. Our study included the browser architecture study which is very important to evaluate the browsers response to scripts, security of the browser, memory and CPU usage by the browsers etc. Then we used the output of the literature survey to choose the parameters. In broader sense the parameters were classified into general features, security features and the add support . To evaluate each parameter following methods were adopted.

1) 2) 3) 4)

Test scripts were designed and used wherever possible (For ex. Speed Test Public opinion was asked for assigning values to features like usability Scripts were designed for attacking the browser Standard Benchmarks were used

IV .BROWSER SELECTION
As our task was to compare the browsers, we need to decide which browser is to be selected. For that, we went through the usage statistics and found the following results given by some of the websites. Market Share of browsers:

YEAR
2009

IE
39.9%

Fire fox
45.5%

Chrome
3.9%

Safari
3.0%

Opera
2.3%

Others
5.4%

4 2008 40.2% 44.4% 3.6% 2.7% 2.4% 6.7%

A.Mozilla Firefox
Firefox is an open-source project that is managed by the Mozilla Foundation. Each component is divided into submodules. Each of these modules is owned by a specific individual that is in charge of managing the development of that that module. It descended from Mozilla Corporation suite and is managed by Mozilla Corporation. Firefox includes tabbed browsing, a spell checker, incremental find, live bookmarking, a download manager, and an integrated search system that uses the user's desired search engine .Functions can be added through add-ons created by third-party developers, which include the NoScript JavaScript disabling utility, Tab Mix Plus customizer, FoxyTunes media player control toolbar, Adblock Plus ad blocking utility, StumbleUpon (website discovery), Foxmarks Bookmark Synchronizer (bookmark synchronizer), WOT: Web of Trust security site advisor, download enhancer, and Web Developer toolbar. With a market share of 45.5% in 2009 it is the most popular browser.

A.Internet Explorer
Windows Internet Explorer (formerly Microsoft Internet Explorer; abbreviated MSIE), commonly abbreviated to IE, is a series of graphical web browser developed by Microsoft and included as part of the Microsoft Windows line of operating system starting in 1995. It has been the most widely used web browser since 1999, attaining a peak of about 95%usage during 2002 and 2003 with IE 5 and IE6 and that percentage share has declined since in the face of renewed competition from other web browser developers. Internet Explorer uses DOCTYPE sniffing to choose between "quirks mode" (renders similarly to older versions of MSIE) and standard mode (renders closer to W3C's specifications) for HTML and CSS rendering on screen (Internet Explorer always uses standards mode for printing). It also provides its own dialect of ECMA Script called Jscript.Internet Explorer has been subjected to criticism over its limited support for open web standards.

B.Google Chrome

Chrome the latest browser released in 2008 already had a market share of 3.9% in Jan 2009. Chromium is the open source project behind Google chrome. Salient 1. 2. 3. 4. 5. 6. 7. 8. Features include: Task Manager for Websites Visual Browser History Super Clean Contextual Menus Search option from the Address Bar Check Memory Usage by Different Browsers Reopen Website tabs that you closed by mistake Launch Websites from the Start Menu / Quick Launch Bar Developers claim faster speed (Sunspider and v8 benchmarks), better stability and performance and high security.

Architecture of chrome provides insight into its security features. Chromium has two modules in separate protection domain: browser kernel and rendering engine. This architecture helps mitigate high severity attack without compromising the compatibility.

C.Opera
Opera has market share of 2.3%. But the features of this browser get it a place in our comparison chart. Claimed to be a fast and secured browser it, has the following new features in its latest version: Content blocking BitTorrent support Widgets Search engine editor Site preferences New installer. One package30 languages Integrated source viewer opera:config for advanced settings configuration Tab use: Thumbnails when you hover the cursor over a tab Widgets in Opera are more like small standalone applications that can interact with the internet and live outside the browser, rather than interface elements that can change the basic behavior of the browser, as Firefox's extensions are.

Innovative Features in Opera


Opera was the first browser with tabs, RSS support, and built-in BitTorrent client and tab thumbnails. It allows for duplication of tabs, Goto URL feature for web address that is not hyperlinked, periodic reloading, fitting to window size (ERA), rewinding, crash recovery, page zoom, instant back, tab closing. Along with this it does the best on the Acid2 web standards test. Though the safari browser is been used more as per the statistics given above we have taken chrome and opera because chrome is the latest browser by Google which is popular and wanted to know the details of the new browser.

V. TEST ENVIRONMENT Browser


Mozilla Firefox Internet Explorer Google Chrome Opera

Version
3.0.7 7.0.6001 1.0.154 9.63

Operating System
Windows XP Home edition

RAM
512 MB DDR2, L2 cache

HDD
60 GB

Processor Speed
Intel Centrino 1.77Ghz,

100% CPU Usage is made available for each test. This is ensured by reboot after every test.

VI. PARAMETER SELECTION AND WEIGHTAGE SL NO. Parameter


1. 2. 3. 4. 5. 6. 7. 8 9. 10. 11. Web technologies Support Cross-platform Support Browser Features Accessibility Features Mobile Web technology support Plugin and Web Feed Support Protocol Support Security Add-ons Speed Benchmark Tool Testing

Weightage
5 7 5 5 7 5 5 8 8 10 10

Justification for the weightage for parameters:


Every parameter was given a base of 5 points each. Added points were given to parameters depending on the relevance and importance at the present. Like mobile technologies support was given extra 2 points because mobile tech is the upcoming technologies. Security, of course is really important parameters and hence the 8 points. Speed, is the ultimate decider for the best browsers and therefore we allot 10 points to it . Market Share table given in III. Browser Selection

VII. BENCHMARKS SELECTED


A. SunSpider JavaScript Benchmark A benchmark suite that aims to measure JavaScript performance only not the DOM or Other browser APIs. It tests on tasks that are relevant to the current and near future use of JavaScript in the real world, such as screen drawing, encryption and text manipulation. The suite further attempts to be balanced and statistically sound. It was released by Apple's Web Kit team in December 2007. It is designed to compare different versions of the same browser, and different browsers to each other.

SL NO.
3D ACCESS BITOPS CONTROLFLOW CRYPTO DATE MATH

Firefox
641.4 808.4 531.6 64.8 330.8 438.0 591.0

Opera
815.8 1071.6 840.2 81.2 375.2 496.8 678.8

Chrome
181.0 117.6 90.2 4.0 89.8 460.2 192.2

IE
2124.8 2800.0 2359.2 774.8 1606.6 1452.6 1918.6

7 REGEXP STRING TOTAL Points 296.0 1185.4 4887.4 9 565.8 1850.2 6775.6 8 508.8 813.8 2457.6 10 425.2 30937.8 44399.6 0

*All times are in ms


B. ACID3 Acid3 is a test page from the Web Standards Project that checks how well a web browser follows certain web standards, especially relating to the Document Object Model and JavaScript.When successful, the Acid3 test displays a gradually increasing percentage counter with colored rectangles in the background. The percentage displayed is based on the number of sub-tests passed. It is not representing an actual percentage of conformance as the test does not keep track of how many of the tests were actually started (100 is assumed). In addition to these the browser also has to render the page exactly like the reference page is rendered in the same browser. Like the text of the Acid2 test, the text of the reference rendering is not a bitmap, in order to allow for certain differences in font rendering. Passing Condition A passing score is only considered valid if the browser's default settings were used. The following browser settings and user actions invalidate the test: Zooming in or out Disabling images Applying custom fonts, colors, styles, etc.

Also User JavaScript or Greasemonkey scripts may invalidate the test.

SL NO.
1. 2. 3. 4.

Browsers
FIREFOX IE OPERA CHROME

ACID3 test
71 FAILS 85 79 (LINKTEST FAILS)

Points
7.1 0 8.5 7.9

VIII .Implementation K Chrome


Chromium source code was downloaded, built and tweaked to make changes in the interface. These are the basic steps to modify,build and run the chromium source code. The detailed steps are given in the other report. 1. Install Microsoft Visual Studio 2005 Pro (8.0) or later. Visual Studio Express won't work. Visual Studio 2005/2008 Pro Trial will work.

8 2. Install the Windows SDK 6.1. Integrate the SDK with Visual Studio: Start > All Programs > Microsoft Windows SDK v6.1 > Visual Studio Registration > Windows SDK Configuration Tool. 3. Download the Chromium Source Code. The source code will be in .rXXXXX.tgz.format 4. Using 7-Zip, we have to extract(unzip) twice. 5. We will finally get the actual source code and this requires around 8GB of your hard disk. 6. To change the display of the web browser, the new_tab file which is html format was modified. This file was found in the resources folder. To identify this file took up much of time as it was kept in multiple folders. 7. After the new_tab.htm file was modified, we had to build the chromium source code. 8. Open the chrome/chrome.sln solution file in Visual Studio and build the solution. 9. Right-click chrome_exe and select Set as Startup Project. Right-click chrome_exe in the solution explorer and select Build. It took 1hr and 10mins to build for the first time. 10. This will make Chromium build and to run the code press F5. The details of the build are given in the appendix.

Extension and Addon for Mozilla Firefox


Following are the Steps for building an Extension/Add-on a. Customize the Interface Edit the XUL file to change the appearance of your extension. b. Take Stock Update the Contents.rdf files by replacing all the occurrences of orginal extension name with the name of your extension. Make sure that the Contents.rdf file in the content folder correctly points to the filename of your XUL file. When you're done, rename the ZIP archive (the one containing the skin and content folders) with a .jar extension. c. Update the Install script There are six lines to update in the Install.rdf file: the name of your extension, the version number, the creator, a brief description, the name of the .jar file, and a unique ID that differentiates your extension from all others. d. Put it Back Together With all the files updated, rename the main ZIP file with an .xpi extension again. Make sure that the directory structure exactly matches the example XPI. To install your extension, drag and drop your XPI file onto an open Firefox window, and then restart Firefox e. Check your work Test your extension on a real Web site. If you get an error, or if something doesn't work, retrace your steps and see if you missed anything.

Following is the directory Structure:


Xpi file> /install.js /install.rdf >Chrome >jar file >content/name of extension >content /contents.rdf /nameofextension.xul >locale

9 >folders for different languages >skin >images used for the toolbar interface

Browser Helper Object


A Browser Helper Object (BHO) is a DLL module designed as a plugin for Microsoft's Internet Explorer web browser to provide added functionality. A HelloWorld BHO for internet explorer was implemented. Steps for building an IE Extension using Microsoft Visual Studio 2005 1) Create a ATL project with server type is "Dynamic-link library (DLL)" The following files are created as part of this project. HelloWorldBHO.h this header file contains the class definition for the BHO. HelloWorldBHO.cpp this source file is the main file for the project and contains the COM object. HelloWorld.cpp this source file implements the exports that expose the COM object through the DLL. HelloWorld.idl this source file can be used to define custom COM interfaces. For this article, we will not change this file. HelloWorld.rgs this resource file contains the registry keys that are written and removed when the DLL is registered and unregistered.

2) In HelloWorldBHO.h, First, include shlguid.h. This file defines interface identifiers for IWebBrowser2 and the events that are used later in the project. Next, in a public section of the CHelloWorldBHO class, declare SetSite. Finally, in a private section of the class declaration, declare a member variable to store the browser site. 3) In HelloWorldBHO.cpp, Add the code for SetSite. During initialization, the browser passes a reference to its toplevel IWebBrowser2 interface, which we cache. During uninitialization, the browser passes NULL. To avoid memory leaks and circular reference counts, it's important to release all pointers and resources at that time. Finally, we call the base class implementation so that it can fulfill the rest of the interface contract. 4) In HelloWorld.cpp, Since this BHO does not require thread-level tracking, we can call DisableThreadLibraryCalls during the DLL_PROCESS_ATTACH notification to avoid the overhead of new thread notifications. Therefore code the DllMain function in HelloWorld.cpp 5) Register the BHO All that remains is to add the CLSID of the BHO to the registry. This entry marks the DLL as a browser helper object and causes Internet Explorer to load the BHO at start-up. Visual Studio can register the CLSID when it builds the project.

10

NITK Online Music Toolbar originally Online Music Player / NITK Toolbar originally Wizz RSS News Reader
Tools required to develop this is an XUL editor like RJ Keller's MozCreato. For the First tweak we downloaded Wizz RSS News Reader addon from https://addons.mozilla.org/en-US/firefox/addon/4617. Figured out how to change details in the Add-ons Sections of Firefox - by changing install.rdf and how to change the details on the toolbar - by changing content/omusic.jar contents.rdf and the tweaking was done. For the second one we reffered to https://addons.mozilla.org/firefox/addon/424 and figured out how to change the Details on the toolbar - by changing content/wizzrss.jar - contents.rdf. Then the jar file needs to be directly changed.

Speed Test of Browsers


We carried out the speed test of the browsers based on three i) CSS rendering ii) Graphics Rendering iii) Cryptographic code execution time.

CSS rendering results:

SL NO.
1 2 3 4

BROWSER
Firefox IE Chrome Opera

1
78 31 39 16

2
79 31 27 16

3
78 31 29 16

AVG
78.33 31 31.66 16

Points
1 7 6 8

Graphics rendering results

Browser
Firefox Opera Chrome IE

1 (in s)
7.197 11.388 2.876 11.215

2 (in s)
7.201 11.388 2.877 11.219

3 (in s)
7.201 11.232 2.877 11.212

Average (in s)
7.1996 11.336 2.8766 11.2153

Points
6 4 9 4

RSA javascript for encryption and decryption was tried in all the four browsers. Following results were obtained:

Key: 10001

Text: web browsers team

Browser
1 Firefox IE 0.051 0.187 2

Encryption
3 0.048 0.109 0.044 0.094 Avg 0.047 0.13 1 0.066 0.187 2

Decryption
3 0.056 0.171 0.059 0.204 Avg 0.060 0.562

Total

Points

0.107s 0.692s

7 1

10

11 Chrome Opera 0.013 0.032 0.005 0.016 0.006 0.015 0.008 0.021 0.013 0.062 0.012 0.047 0.011 0.062 0.036 0.057 0.044s 0.078s 9 8

Prime Factorization Test was carried out to check the time taken by each browser to find prime factors of a number. Following were the results:

Browser
Firefox IE Chrome Opera

9
0.011 0 0.001 0

99
0.012 0 0 0

999
0.016 0.015 0.004 0.016

9999
0.056 0.125 0.043 0.047

9999 9
0.883 0.797 0.387 0.547

999999
3.381 9.281 3.355 2.641

999999 9
39.014 67.266 32.057 24.953

Total
43.373 77.484 35.847 28.204

Points
5 2 6 7

Cold Start
This is the time it takes to do a cold load. Once logged out and once all background processes have been completed, browser is run as the first program. Default settings for the browser, are used The browsers are all set to show a single page on startup, and this page is a locally stored basic HTML page.

Browser
Google Chrome Internet Explorer Mozilla Firefox Opera

Time 1(s)
1.6 3.9 8.0 3.8

Time 2(s)
1.6 3.7 7.7 3.6

Time 3(s)
1.6 3.2 7.7 3.7

Average(s)
1.6 3.8 7.8 3.7

Points
10 7 2 7

Warm Start
After completing a cold start, browser is closed ,and time taken to start again is measured . This is done two more times and average is taken .

Browser
Google Chrome Internet Explorer Mozilla Firefox Opera

Time 1(s)
0.4 0.2 0.6 0.7

Time 2(s)
0.5 0.7 0.7 0.8

Time 3(s)
0.6 0.9 0.8 0.9

Average(s)
0.5 0.6 0.7 0.8

Points
7 6 5 4

IX. BROWSER SECURITY ISSUES


We dealt with the following issues: I. A manual for browser security settings (For IE and Firefox). Internet users are always worried about the overall security of their assets on the net .We have created a manual to adjust the browser security settings and so that users can browse in more secured environment . This is added in the Appendix D.

II. Evaluating the browsers based on security settings The main objective of the manual was to evaluate the browsers based on the security settings. This mainly included the ease with which the users could control the security settings of the browsers and also the security features provided by the corresponding browsers. The major security issues identified by us were javascript/vbscript vulnerabilities, Active-x control vulnerabilities, Plug-ins, Cookies management, pop-up

11

12 blockers, certificate management, encryption, password management. The browsers were evaluated on the all these issues. For example: a secure browser should have the option to disable javascript/active-X options. This is mainly for the convenience for the user. If the user feels insecure surfing a particular website, he/she can disable javascript so that the vulnerable scripts wont execute at all in the browser. Similarly the browser should have efficient pop-up blockers and clever management and certificate management options. The browser should be able to differentiate between a secure pug-in and a spyware or a malicious plug-in that attaches itself to the browser by deceit or without the permission of the user. The browser should use the latest encryption standards. The browsers were evaluated on mainly the above security issues.

III .Demonstration of security attacks on browsers


Scripts for demonstration of Cookie stealing and CSRF attacks and click-jacking vulnerability were prepared.

Security Analysis of Browsers


The browsers were finally evaluated on Security settings, architecture of the browser and click-jacking vulnerability that we had tested on all the four browsers. The evaluation of the browser based on the security settings is explained in the above section. Architecture plays a major role in the security of a browser. If the architecture is weak, its easy for a malicious code to penetrate into the code base of the browser. A browser with a good architecture wont let the malicious code or plug-in to compromise the code base of the browser. With upcoming technologies being released every day, its a challenge for the browsers architecture to deal with the technologies and the vulnerabilities associated with it. We included click-jacking in the evaluation of the browsers based on security mainly because click-jacking is a vulnerability that is dependent totally on the browser architecture unlike XSS or CSRF that depend on the server. The detailed report is put up in the Appendix E section .

12

13

X. Evaluation Table
SL NO. 1 1.1 1.2 1.3 1.4 1.5 1.6 1.7 Parameter IE Web technologies Support 5 CSS 2.1 P Frames Y Nav LINKS N XSLT Y XHTML N XForms N Web Forms N 12.5 1.79 2 2.1 2.2 2.3 2.4 Cross-platform Support 7 Windows Y Mac OS N Linux N Unix N 7 1.75 3 3.1 3.2 3.3 3.4 3.5 3.6 3.7 3.8 Browser Features 5 Password managing Y Download Manager N Bookmarks Managing Y Form Managing Y Spell Checking N Search toolbar Y Image grabber N Auto Updater Y Y Y Y N N N Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y 28 4 N 7 1.75 Y 28 4 Y N Y Y N Y Y Y Y N 25 3.57 N 20 2.86 Y 30 4.29 Y N N Y Y Y Y Y Y N N Y Y Y Y Y Y Y Firefox Chrome Opera Weightage

13

14 SL NO. Parameter IE 25 3.12 4 4.1 4.2 4.3 4.4 4.5 4.6 4.7 4.8 4.9 4.10 4.11 4.12 Accessibility Features 5 Tabbed Browsing Y Pop-up blocking Y Incremental Finding N Ad Filtering Partial Page Zooming Y Full text History search N HTML access key Y Tabbing navigation Y Spatial navigation N Caret navigation N Voice control P Text-to-Speech N 30 2.50 5 5.1 5.2 5.3 5.4 5.5 Mobile Web technology support C-HTML N HDML N I-mode N XHTML Mobile Profile N WML N 0 0 6 Plugin and Web Feed Support N 7 1.4 N 0 0 Y 7 1.4 5 P N N N N N N N N P N N Y 50 4.17 N 30 2.50 Y 55 4.58 7 Y N Y Y N N Y N Y Y Y Y Y Y Y N Y Y Y N Y N N Y Y Y Y Y Y Y Y Y Y Firefox 35 4.37 Chrome 35 4.37 Opera 35 4.37 Weightage

14

15 SL NO. 6.1 6.2 6.3 6.4 6.5 6.6 Parameter IE ActiveX Y NPAPI N Java N Gears Y RSS Y Atom Y 20 3.33 7 7.1 7.2 7.3 7.4 7.5 7.6 7.7 7.8 7.9 7.10 7.11 Protocol Support 5 HTTP P E-mail N FTP Y SSL P EV Y IRC N Gopher N IDN Y Data: URL N BitTorrent N IPv6 Y 25 2.27 8 8.1 8.2 8.3 Security 8 Browser Security Settings 6 Architecture 4 Clickjacking 3 7 3 3 6 8 4 7 4 7 Y 40 3.64 N 30 2.73 Y 45 4.09 N N N Y Y Y Y Y Y Y N N N N Y Y Y Y Y Y Y Y Y Y N N Y Y Y Y Y 20 3.33 N 5 0.83 Y 20 3.33 Y N Y Y Y N N N Y Y N Y N N N Firefox Chrome Opera Weightage

15

16 SL NO. Parameter IE 13 4.33 Firefox 20 6.67 Chrome 15 5.00 Opera 14 4.67 Weightage

Add-ons 5 8 2 4 8

10 10.1 10.2 10.3 10.4 10.5

Speed 10 Graphics Rendering 4 Cryptography 1 Prime Factorization 2 Cold Start 7 Warm Start 6 20 4 5 25 5 7 41 8.2 4 30 6 2 10 7 5 6 7 7 9 8 6 9 4

11 11.1 11.2 11.3

Benchmark tool testing 10 Sunspider Javascript Benchmark ACID 3 Test CSS Rendering Test 7 7 2.33 1 17.1 5.7 6 23.9 7.97 8 24.5 8.17 0 0 9 7.1 10 7.9 8 8.5

IE Total 30.42

Firefox 49.84

Chrome 38.20

Opera 48.90 114

16

17

XI. Comparative Bar-Chart

Benchmark Test Speed Add-ons Security Protocol Plugin - Web feed Mobile w eb tech Accessibility Brow ser Features Cross-platform Web Tech Support

2 IE

4 Firefox

6 Chrome

8 Opera

10

17

18

XII. Conclusion:
As you saw in the evaluation table, all the parameters have been given appropriate points and the total has been calculated for each browser. The results are:

Category
Basic browser features (Web technologies Support, Crossplatform Support, Browser Features, Accessibility Features, Mobile Web technology support, Plugin and Web Feed Support, Protocol Support) Security features Add-Ons Speed Benchmark Tool Testing OVERALL (all categories together)

Result

Opera tops with 26.05/39

Firefox tops with 6.67/8 Firefox tops with 8/8 Chrome tops with 8.2/10 Opera tops with 8.17/10 MOZILLA FIREFOX TOPS with 49.84/75

Mozilla Firefox has merged out to be the winner with 49.84 points but it is very closely followed by Opera with 48.90 points . XIII. References
[1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] [15] [16] [17] [18] Alan Grosskurth and Michael Godfrey. A case study in architectural analysis: The evolution of the modern web browser. EMSE, 2007. Allan Grosskurth and Michael Godfrey. A reference architecture for web browsers. In Journal of Software Maintenence and Evolution: Research and Practice, pages 17, 2006. Nigel McFarlane. Rapid Application Development with Mozilla, pages 1123. Prentice Hall, 2003. mozilla.org. JavaScript Reference Implementation (JSRef) README. http://lxr.mozilla.org/mozilla/source/js/src/README.html. mozilla.org. Module Owners. http://www.mozilla.org/owners.html. Referred 10th Jan 2009 mozilla.org. Mozilla Layout Engine. http://www.mozilla.org/newlayout/. mozilla.org. Necko Interfaces Primer. http://www.mozilla.org/projects/netlib/necko interface overview.html. mozilla.org. Networking Library Documentation. http://www.mozilla.org/projects/netlib/. mozilla.org. NGLayout architecture. http://www.mozilla.org/newlayout/overview.html. mozilla.org. Overview of NSS. http://www.mozilla.org/projects/security/pki/nss/overview.html. mozilla.org. Personal SecurityManager (PSM). http://www.mozilla.org/projects/security/pki/psm/. mozilla.org. SpiderMonkey (JavaScript-C) Engine. http://www.mozilla.org/js/spidermonkey. mozilla.org. Storage - MDC. http://developer.mozilla.org/en/docs/Storage. mozilla.org. XPToolkit architecture. http://www.mozilla.org/xpfe/aom/AOM.html. http://www.w3schools.com/JS/ - Javascript Tutorial The Security Architecture of the Chromium Browser by Adam Barth ,Collin Jackson http://www.labnol.org/software/browsers/best-google-chrome-features/4388/ - Google Chrome features we miss in other Web browsers http://googleblog.blogspot.com/2008/12/google-chrome-beta.html - Official Google Chrome Blog

18

19

[19] http://www.extremetech.com/article2/0,2845,2326718,00.asp Browser Comparison [20] http://googlesystem.blogspot.com/2006/05/10-features-youll-find-only-in-opera.html - 10 Features youll find only in Opera [21] http://www.opera.com/docs/era/#intro Opera Documentation [22] Adam Barth and Collins Jackson . The Security Architecture of Chromium, Technical report 2008 [23] Daschuan Yu , Ajay Chander ,Nayeem Islam ,Igor Serikov , Javascript Instrumentation for Browser Security , DoCoMo Communications Laboratories USA.

19