Mini Project I: Literature Search
Mini Project I: Literature Search
1 Introduction
This mini projects looks at 3 different articles. JavaScript is in most of the web-
sites and implements important parts of them. It is important that JavaScript
programs run fast, although they have dynamic features which have to be
checked while the program is running and might affect people perception.
It is important to say, that not even JavaScript is perfect. Browsing web
pages coded in JavaScript code can cause plenty of security problems. Fortu-
nately there are many new research on this questions, that offer us new inventive
solution and make browsing web pages safer.
The first article tries to present a solution based on points-to analysis based
on some constrains. The second article describes security risks of browsing web
pages via Mozzila, which are created in JavaScript code. It also characterizes
ordinarily used security policies implemented in Mozzila.The third article deal
about V8 JavaScript engine. In this article are shown main reasons to develop
V8 JavaScript engine. The main part of the article was devoted to introduce
function and performance of garbage collector.
1
original expressions. Modification of original expressions is a process that can
be computed to get the solution.
Results for prototype that they have done run a popular JavaScript bench-
mark. Average time for execution programs is less than 200 microseconds; this
means that this prototype could be done at runtime. Also results focus on es-
pecial case ”Redundant Property References”, these References are present in
most JavaScript programs, so trying to eliminate these References will improve
JavaScript execution time. Elimination of Redundant Property References has
to be done on source code level; this technique transformation introduces new
assignment expressions in the code that must be taken into account while bench-
marks are running. In all cases shown applying this technique, reduce execution
time of programs.It is important to mark that all improves, like shown in arti-
cle, that can be made in a JavaScript program benefits execution time making
efficient code that is very useful.
2
Crosssite scripting, permanently calling Windows.alert() in short interval, which
leads to impossibility of exit Windows.
The paper, I was focused on, offered potential solution of mentioned prob-
lems. Unfortunately additional code extends computational time and therefore
should be optimized. I was not able to find any method of testing additional
code of success in a protecting against malicious code.
2 Research Questions
1. Why are Points-to Analysis for each programing language (Java, C, JavaScript...)?Is
not posible to make a Analysis for all of them?
3
2. Does the auditing code work properly? How was it tested? Are results of
success in a protecting against malicious code satisfactory?
3 Assessment
The JavaScript code is widely spread on world wide web, hence it is good cause
to be engaged in this theme. In other words it is important to investigate
all its shortcomings and try to solve them. But there are many positives of
JavaScript. It is good to pay interest on them and continue in their developing.
JavaScript code is also good and comfortable way how to convert static web-
site into dynamic website and enhance display of users web pages, but on the
other hand there are also different solutions how to reach these improvements
at the present time, which are not so hazardous. The methods and techniques
introduced in previous article are not revolutionary and are used several years.
However these techniques were used at first in interpreter of JavaScript of web
browser. Very often these techniques are not implemented in interpreters of the
others dynamic script languages maybe therefore that it is very hard to develop
high-quality garbage collector.
References
[1] David Flanagan. JavaScript: The Definitive Guide. O’Reilly & Associates,
Inc., Sebastopol, CA, USA, 2006.
[2] Oystein Hallaraker and Giovanni Vigna. Detecting Malicious JavaScript
Code in Mozilla. In ICECCS ’05: Proceedings of the 10th IEEE International
Conference on Engineering of Complex Computer Systems, pages 85–94,
Washington, DC, USA, 2005. IEEE Computer Society.
[3] Oystein Hallaraker and Giovanni Vigna. V8 JavaScript Engine,
http://code.google.com/intl/cs-cz/apis/v8/terms.html. 2008.
[4] Hallaraker, Oystein and Vigna, Giovanni. V8: JavaScript in-
side Google Chrome : Serial Do hlubin implementaci JavaScriptu,
http://zdrojak.root.cz/clanky/v8-javascript-uvnitr-google-chrome, 2009.
[5] Dongseok Jang and Kwang-Moo Choe. Points-to analysis for JavaScript. In
SAC ’09: Proceedings of the 2009 ACM symposium on Applied Computing,
pages 1930–1937, New York, NY, USA, 2009. ACM.
4 Apendix
Work division and workload
4
• Article research: By Fernando Galindo (33.3%), Dušan Pilný (33.3%)
and Michal Janku (33.3%)