Basic tests of browsers
In fact, a single test case may be sufficient to differ two bowsers-if one browser fails to and another does not.
Example: On some tests, Opera 11.64 only fails in 4 out of more than 10,000 test cases but while the most recent version of Internet Explorer 9 at that time failed in almost 400 test cases. That is sufficient to reliably distinguish those two browsers and can be executed within a fraction of a second.
2. Minimal Fingerprint
Example: The browsers in the test set are Firefox 12, Opera 11.64, Internet Explorer 9 and Chrome 20, with a resulting minimal fingerprint consisting of only 4 tests. With the algorithm explained above, we calculate the minimal fingerprints as follows: For every test case, the uniqueness in the test set is calculated. If a test fails for a specific browser, it receives a checkmark in the table, and if the browser does not fail that test, it is crossed out.
3.Building Decision Tree
To identify a user’s browser without relying a priori on the user. Have to build a binary decision tree for a given test set if the browser is included in it by running multiple test rounds. For every test, the next step will be a decision until the leaf node. This will justify which browser is faster.
In the ideal case, every inner node in the tree splits the subset of browsers in the test set in half, and the total number of tests that need to be executed at the client is only O(logn) compared to O(n) for executing the minimal fingerprints.
4. Implication on Security and Privacy
While the UserAgent string is traditionally used to report the web browser and version to a river. This is often not sufficient as the user can change it arbitrarily. In the context of browser security, current malware often relies on vulnerabilities in browsers for launching exploits. It like a black hole that has been shown to use the user to exploit client-side vulnerabilities.
5. Benign Uses of Fingerprinting
Recently hacked CAs like DigiNotar and “Operation Black Tulip” have shown that HTTPS alone is simply not enough to secure online communication anymore.
On research, they try all techniques to judge browsers. And also they come up with a decision by their result.
They collected browsers with different versions and different operating system combinations for desktop and smartphone and browsers engine generation in the database. They try every possible test according to these techniques.
The runtime for the entire test was short, with 90ms on average for PCs and 200ms on average for smartphones.
That it is not the total number of failed test cases that are of importance, but if there is a difference between the browsers in the test set.
For browser identification and with respect to the chosen test set. A single test case per browser is often sufficient to distinguish between two or more browsers. Also, these results and the number of failed tests are not static in nature. Browsers, ECMAscript, and the test suites are under active development and are constantly improved. With ECMAscript currently preparing version 12 of the standard.
There are too many browsers to choose from and they have strong competition. Mostly they release a new upgrade version and many new features. So I think most browsers have close competition, and everyone just wants to come on the top. According to me, Chrome is the best browser ever.
Source — It is taken from a research paper and told you in a short version. You can also read the whole research paper pdf.
Thank you for reading. If I wrote something wrong, let me know your response.