Promotie M.M. Beller: software-ontwikkeling

23 november 2018 15:00 - Locatie: Aula, TU Delft - Door: webredactie

An Empirical Evaluation of Feedback-Driven Software Development. Promotor 1: Prof.dr. A. van Deursen (EWI TU Delft); Promotor 2: Dr. A.E. Zaidman (EWI).

Softwareontwikkelaars van vandaag hunkeren naar feedback over hun werk, danwel van hun peers via code review, via statische analyse tools zoals hun compiler, ofwel via de uitvoering van testen, hetzij lokaal of op afstand in de Continuous Integration (CI) omgeving. De strakke integratie van sociale coding sites zoals GitHub en CI services zoals Travis CI hebben software ontwikkeling enorm veranderd. Met deze grote verschuivingen op het vlak van software ontwikkeling missen we een holistische beschrijving van hedendaagse software ontwikkelingspraktijken. Bestaande beschrijvingen zoals het V-model zijn te grof om een individuele workflow te beschrijven of gaan alleen over een onderdeel van het ontwikkelingsproces, zoals Test-Driven Development (TDD). Bovendien zijn de bestaande modellen meer pre- dan de-scriptief. In deze thesis daarentegen doen we een reeks empirische studies om de individuele onderdelen van Feedback-Driven Development te beschrijven: we onderzoeken hoe wijdverspreid het gebruik van Automatic Static Analysis Tools (ASATs) is, bekijken de evolutie van hun gebruik en we leggen het “Last Line Effect” uit, een fenomeen op het snijvlak van ASATs en code reviews. Ook observeren we de lokale testpatronen van ontwikkelaars in hun Integrated Development Environment en vergelijken we die lokale patronen met het op afstand testen op de CI server. Vervolgens bestuderen we hoe ontwikkelaars fouten debuggen in het geval dat de voorgaande maatregelen om de kwaliteit te bewaken falen. Ten slotte verzamelen we het empirische bewijs dat we hebben verkregen om tot een model te komen van hoe softwareontwikkelaars heden ten dage werken. Onze resultaten tonen dat programmeurs de verschillende technieken in FDD gebruiken om hun programmeeropdracht op de meest efficiënte manier uit te voeren, waarbij ze vaak bewust een shortcut nemen om de klus te klaren. Het valt niet te ontkennen dat die op korte termijn efficiënt is, maar deze manier van werken brengt ook risico’s met zich mee, vooral op het vlak van preventie en introspectie-activiteiten die te kort schieten. Zo kan het voorkomen dat programmeurs hun ASATs niet optimaal configureren of combineren, ze een verkeerde perceptie hebben qua tijdsbesteding van kwaliteitscontrole, ze activiteiten verwant aan kwaliteitsbewaking, zoals testen, als bijkomstigheid beschouwen en zichzelf onvoldoende scholen op het gebied van debuggingtechnieken. Een relatief rigide, door tools gehandhaafd FDD proces kan ontwikkelaars begeleiden om deze fouten niet te maken. Onze thesis culmineert in de vondst dat feedbacklussen het karakteriserende criterium zijn van moderne softwareontwikkeling. Ons model is flexibel genoeg om er een brede waaier aan moderne workflows in onder te brengen, ondanks de grote variatie in hoe projecten delen van FDD gebruiken en configureren.

Meer informatie?

Voor inzage in proefschriften van de promovendi kunt u kijken in de TU Delft Repository, de digitale vindplaats van openbare publicaties van de TU Delft. Proefschriften zullen binnen een paar weken na de desbetreffende promotie in de Repository te vinden zijn.