Improving JavaScript Development Productivity by Providing Runtime Information within the Code Editor

Loading...
Thumbnail Image
Journal Title
Journal ISSN
Volume Title
Perustieteiden korkeakoulu | Master's thesis
Date
2015-05-11
Department
Major/Subject
WWW-teknologiat
Mcode
IL3012
Degree programme
Tietotekniikan koulutusohjelma
Language
en
Pages
61
Series
Abstract
Softare development is a laborious and expensive activity that highly benefits from productivity improvements. It has been estimated that developers spend 50-80% of their time trying to understand code. Previous studies have shown that developer tools can significantly assist developers in code comprehension and thus improve their productivity. Web applications built with JavaScript have become increasingly popular, but developer tools available for web application development are still immature. This is mainly due to the dynamic nature of JavaScript, which makes it unsuitable for conventional development tools that work by statically analysing source code. This thesis presents previous research on developer productivity and JavaScript developer tools. The most important contribution of this thesis is Tracr, a novel JavaScript development tool that enables live editing of code within a code editor. Live editing has been previously found to be an effective technique for improving code comprehension and developer productivity. Tracr's development workflow and its technical feasibility are evaluated. The results show that the tool improves developer productivity by simplifying the workflow of common development activities. The technical approach is proven to be feasible and can be applied for other programming languages as well. In the future, a user study should be conducted in order to assess the productivity improvement of Tracr.

Sovelluskehitys on työläs ja kallis prosessi, jossa sovelluskehittäjien tuottavuudella on keskeinen merkitys koko prosessin tuottavuudelle. On arvioitu, että kehittäjät käyttävät 50-80% ajastaan olemassa olevan lähdekoodin ymmärtämiseen. Aikaisempi tutkimus on osoittanut, että kehitystyökalut voivat merkittävästi auttaa kehittäjiä lähdekoodin ymmärtämisessä ja täten parantaa heidän tuottavuuttaan. JavaScriptilla rakennetut web-sovellukset ovat kasvattaneet suosiotaan, mutta kehitystyökalut JavaScriptille ovat vielä puutteellisia. Tämä johtuu ennen kaikkea JavaScriptin dynaamisista ominaisuuksista, jotka vaikeuttavat perinteisten lähdekoodin staattiseen analyysiin perustuvien kehitystyökalujen kehitystä. Tässä työssä tarkastellaan aikaisempaa tutkimustietoa sovelluskehittäjien tuottavuudesta ja JavaScriptin kehitystyökaluista. Olemassa olevien työkalujen ominaisuudet ja puutteet tuodaan esille. Työn merkittävin tulos on Tracr, uusi kehitystyökalu JavaScriptille. Työkalu mahdollistaa lähdekoodin reaaliaikaisen muokkauksen, jolloin sovelluskehittäjä näkee komentojen paluuarvot suoraan editorissa. Reaaliaikainen muokkaus on tutkimuksissa osoittautunut tehokkaaksi menetelmäksi, joka auttaa kehittäjää lähdekoodin ymmärtämisessä ja parantaa tuottavuutta. Työssä arvioidaan Tracrin vaikutus kehittäjän työnkulkuun ja arkkitehtuurin toteutettavuus. Tulokset osoittavat, että Tracr parantaa sovelluskehittäjän tuottavuutta yksinkertaistamalla usean tyypillisen ohjelmointitehtävän työnkulkua. Tekninen arkkitehtuuri osoittautuu toimivaksi ja lisäksi se on toteutuskelpoinen muille ohjelmointikielille.
Description
Supervisor
Nurminen, Jukka K.
Thesis advisor
Salonen, Jaakko
Keywords
JavaScript, developer tools, live editing, programming productivity, deterministic replay, software comprehension
Other note
Citation