JavaScript ja takaisinkutsut suomalaisilla verkkosivuilla : takaisinkutsumenetelmän yleisyys ja ongelmat - Tarvainen, Riia (2016)
JavaScript on hyvin paljon käytetty ohjelmointikieli ja verkkosivuilla vallitsevassa asemassa. JavaScript-kieliset ohjelmat sisältävät kuitenkin paljon virheitä. Verkkokeskusteluissa ”takaisinkutsuhelvetti”, eli tilanne jossa ohjelmakoodi on monien sisäkkäisten takaisinkutsullisten funktioiden vuoksi hyvin vaikesti ymmärrettävä ja hallittava, nostetaan yhdeksi kielen kipupisteistä. Tässä tutkimuksessa tutkittiin kirjallisuudesta JavaScriptin takaisinkutsumenetelmään liitettyjä ongelmia sekä sitä korvaavia asynkronisen toiminnan menetelmiä. Empiirisessä tutkimuksessa kartoitettiin suomalaisten verkkosivujen JavaScript-ohjelmakoodia. Ohjelmakoodin määriä, sijaintia ja ominaisuuksia mitattiin. Erityisesti tutkittiin takaisinkutsumenetelmän hyödyntämistä ja siihen liittyvien sisäkkäisyyksien syvyyksiä. Tutkimusta varten kehitettiin mittausohjelmisto, jonka avulla tutkimus suoritettiin. Tiedostot haettiin sivustoittain, tiedot mitattiin ja havainnot kirjattiin havaintomatriisiin. Tutkimukseen valittiin suomalaisia verkkopalvelun sisältäviä verkkosivustoja jaoteltuina tarkoituksen mukaan viiteen ryhmään ja tutkittuja sivustoja oli yhteensä 134. Tutkimus osoitti, että suomalaisten verkkosivujen sisältämän JavaScript-ohjelmakoodin ominaisuudet vaihtelevat sivuston tarkoituksen mukaan. Tutkimuksessa havaittiin myös, että sivustoilla hyödynnetään erittäin paljon sekä yleensä HTML-tiedostoihin sisällytettyä JavaScriptiä että asynkronisen toiminnan menetelmää, jossa HTML-elementtien attribuuteiksi asetetaan JavaScriptiä. Tutkimusaineistosta oli löydettävissä monitasoisia sisäkkäisyyksiä ja takaisinkutsumenetelmän hyödyntäminen muutenkin oli yleistä. Sen sijaan tutkitut takaisinkutsuja korvaavat asynkronisen toiminnan menetelmät olivat aineistossa vähäisiä. Tästä huolimatta tutkimuksessa havaittiin sivustoryhmittäin tarkasteltuna viitteitä riippuvuudesta lupausabstraktion löytymisen ja vähäisemmän sisäkkäisyyden välillä. Tuloksia vertailtiin julkaistuun tutkimukseen, jossa joitakin samoja asioita oli tutkittu avoimen lähdekoodin projekteista. Julkaistun tutkimuksen tulosten havaittiin olevan osin kyseenalaisia ja jopa virheellisiä. Vertailukelpoisten tietojen osalta tulokset olivat varsin yhteneviä.