Javascript Kütüphaneleri için Girdi Doğrulama Analizi - Ufuktepe, Ekincan; Ufuktepe, Ekincan; Tuğlular, Tuğkan; Tuğlular, Tuğkan (CEUR Workshop Proceedings, 2015)
Bugün artık mobil ve web temelli yazılımlar günlük hayatın bir parçası olmuştur. Bu yazılımlar içinde JavaScript kütüphanelerinin kullanımı da son yıllarda önemli artış göstermiştir. Bu kütüphaneler sağladıkları uygulama programlama arayüzleri ile daha ziyade söz verdikleri işlevleri yerine getirmekte ancak beklenmeyen girdilere karşı dayanıklı bir yapı sunamamak-tadır. Bu çalışmada mobil ve web temelli yazılımlarda yoğun olarak kullanılmakta olan beş JavaScript kütüphanesine ait işlevlerin aldığı para-metreler ile kullandıkları global değişkenler üzerinde doğrulama yapıp yap-madıkları analiz edilmiştir. Bunun için bir girdi doğrulama modeli ortaya konmuştur. Bu model üzerinde geliştirilen algoritma ile JavaScript programları için tip analiz yapan TAJS yazılımı genişletilmiş ve beş JavaScript kütüphane-sine uygulanmış ve elde edilen sonuçlar paylaşılmıştır.

Nowadays, mobile and web based software has been an integral part of our lives. In recent years, there has been an increase in usage of JavaScript libraries in those kind of software. Although these JavaScript libraries fulfill the functions they have promised with respect to the application program interfaces they provide, they are not robust against unexpected inputs. In this study, the parameters and global variables of functions in the five selected JavaScript li-braries that are frequently used in mobile and web based software are analyzed for input validation. For this purpose, an input validation model has been pro-posed. Based on this model, a tool called TAJS that performs a type analysis on JavaScript programs has been extended with a proposed algorithm. The result-ing tool is executed on five JavaScript libraries and obtained results are shared.
9th Turkish National Software Engineering Symposium, UYMS 2015; Yasar UniversityIzmir; Turkey; 9 September 2015 through 11 September 2015
Keywords: Input validation; JavaScript; Robustness; Software libraries; Application programs