Maintainability of XML Transformations

Date

2011-05-30

Journal Title

Journal ISSN

Volume Title

Publisher

Abstract

Extensible Markup Language (XML) on laialt levinud andmete esitamiseks kasutatav keel. XML-i kasutatakse nii andmete esitamiseks lõppkasutajatele kui ka süsteemisisesel suhtlusel ja andmevahetusel. Selline laialdane kasutus erinevatel süsteemi tasemetel on kaasa toonud vajaduse teisendada XML dokumente ühelt kujult teisele. Selliste teisenduste haldamine võib aga olla väga kulukas. Käesoleva doktoritöö eesmärk on leida viise XML teisenduste haldamiskulude vähendamiseks, uurida XML-i ja XML teisenduste rolli tarkvara arenduses ja tuvastada kodeerimismahtu määravaid indikaatoreid. Uurimustöö tulemused näitavad, et juhiste järgimine toob kaasa loodava ja muudetava koodimahu vähenemise. Avastava andmeanalüüsi käigus loodud mudelid osutusid täpseteks koodikulu hindamisel ning XML koodiga seotud omaduste mõju koodikulule osutus suuremaks kui objektorienteeritud koodiga seotud omaduste mõju. Muuhulgas saavutasid uurimustöö käigus loodud aastase kumulatiivse koodikulu hindamise mudelid suurepärase täpsuse, eksides keskmiselt vähem kui 1% võrra. Dissertatsioonis saadud tulemused aitavad paremini mõista XML teisenduste – ja laiemas plaanis XML koodi sisaldavate tarkvaraprojektide – hallatavust mõjutavaid tegureid. Nende mõjutegurite põhjal sõnastatud juhised suurendavad XML teisenduste hallatavust ning uurimustöö käigus loodud ennustusmudeleid on võimalik rakendada tarkvaraprojektide planeerimisel.
Contemporary software systems often rely on the Extensible Markup Language (XML) to represent data internally and to interact with other systems and with end users. Concomitantly, there is need to define transformations between the internal XML documents manipulated by a system and XML documents used for external interaction. These transformations need to be updated whenever the underlying XML formats evolve, thereby raising a maintenance problem. In this setting, this dissertation undertakes to study the usage of XML in software systems and to devise models and guidelines to estimate and reduce the effort needed to maintain code in software projects that use XML. The study demonstrates a relation between the use of the developed guidelines and reduction in the amount of code written and modified in the context of iterative software development projects. The models built using exploratory data analysis proved to be good estimators of code churn: the sum of added, removed and modified code. XML-related metrics are shown to influence long-term cumulative code churn of a project to a larger extent than some well-known object-oriented code metrics. Regarding long-term code churn estimation, the dissertation also reveals the existence of highly accurate estimation models based on organisational data present in source code repositories. In conclusion, the dissertation advances the understanding of the factors that influence the maintainability of XML transformations, and more generally, the maintainability of software projects that use XML code. Based on the identified influences, guidelines for designing maintainable XML transformations are formulated. The predictive models developed in this study can also be useful in the planning process of software projects.

Description

Väitekirja elektrooniline versioon ei sisalda publikatsioone.

Keywords

dissertatsioonid, tarkvaraarendus, XML (programmeerimiskeel), teisendused, , tarkvarahooldus, software development, XML (programming language), transformations, software maintenance

Citation