Go to content
SV På svenska

Integration of Dynamic and Static Programs on a Large Scale

Reference number
SM13-0054
Start and end dates
140301-161231
Amount granted
543 000 SEK
Administrative organization
Uppsala University
Research area
Information, Communication and Systems Technology

Summary

An increasing number of companies use a family of programming languages called "scripting languages" for ease and speed of development. Scripting languages are often an enabler during the start-up phase, but as software grows and matures, hurt performance, power-efficiency and quality of service. The goal of this research is to develop tools and techniques for facilitating the transition of "scripts into programs", which requires furthering the current understanding of how scripting languages are used in practise. We request funding for part-time embedded during 2 years at a company where scripting languages have seized to be an enabler. By studying the code base, usage patterns, and performing root cause analysis for problems with quality of service and scalability in collaboration with their programmers and engineers, we will develop verification techniques for scripting languages which can be applied to existing code with a small modicum of manual labour, as well as techniques for efficient compilation and execution. Where necessary, we will also develop techniques for automatic transformation of programs written in one language to another. In addition to insights from a comprehensive study of large and critical programs written in scripting languages of interest to researchers, language designers and implementers, we will produce tools which will be useful to companies or other researchers where scripting languages have ceased to be an enabling technology.

Popular science description

Företag använder allt mer en typ av programspråk kallad "skriptspråk" för effektiv och snabb utveckling. Skriptspråk är ofta en möjliggörande teknik under ett företags eller tjänst uppstartstid, men när mjukvara växer och mognar blir växer negativa faktorer som dålig prestanda, energieffektivet och quality of service. Inte sällan sker då ofta en återgång eller övergång till mer traditionella programspråk, en åtgärd som är felbenägen, kostsam och komplicerad då hundratusentals- till miljontals instruktioner skall skrivas om och struktureras upp på ett annat sätt. Målet med denna forskning är att utveckla metoder och verktyg för att förenkla övergången från "skript till program", vilket också kräver ökad förståelse för hur skriptspråk används i praktiken. Projektet avser studier av användande av skriptspråk i ett företag där skriptspråkens nackdelar tagit överhanden. Genom att studera företagets kodbas, kodmönster och genom en orsaksanalys tillsammans med dess ingenjörer och programmerare kommer vi att utveckla tekniker för verifiering för skriptspråk som kan användas med existerande kod utan att kräva stora förändringar, likaså tekniker för effektiv kompilering och exekvering. Där det blir nödvändigt kommer vi också att utveckla tekniker för automatisk översättning från skriptspråk till systemspråk. Utöver lärdomarna från en omfattande studie av en stor och kritisk kodbas i ett skriptspråk av intresse för forskare, språkdesigners och utvecklare av kompilatorer och exekveringsmiljöer, kommer vi att utveckla verktyg av nytta för forskare i fältet såväl som företag där skriptspråk har slutat vara en möjliggörande teknik.