Magnet.me  -  Het slimme netwerk waarop hbo‑ en wo‑studenten hun baan of stage vinden.

Het slimme netwerk waarop hbo‑ en wo‑studenten hun baan of stage vinden.

Afstudeeropdracht: Detect compile errors in Stryker4s

Geplaatst 13 feb. 2024
Delen:
Werkervaring
0 tot 1 jaar
Full-time / part-time
Full-time
Functie
Salaris
€ 500 - € 1.000 per maand
Soort opleiding
Taalvereiste
Nederlands (Vloeiend)

Je carrière begint op Magnet.me

Maak een profiel aan en ontvang slimme aanbevelingen op basis van je gelikete vacatures.

Het mutation testing framework Stryker4s leren omgaan met compileerfouten. Dat is waar deze opdracht om draait. Zodat Stryker for Scala ingezet kan worden op grote projecten zonder aanpassingen te hoeven doen.

Benodigde interesse(s)

  • Scala
  • Build tools
  • Open Source
  • Automated testing

Wat krijg je

  • Een uitdagende afstudeeropdracht
  • € 1000 vergoeding, € 500 + leaseauto of € 600 + woonruimte
  • Professionele begeleiding
  • Trainingen gericht op jouw afstudeertraject
  • Sparren met andere afstudeerders en collega’s
  • Twee vakantiedagen per maand

Wat je gaat doen

  • 35% Afstudeeronderzoek
  • 40% Analyseren, ontwerpen, realiseren
  • 25% Documentatie

Een mutation testing framework maakt kleine wijzigingen in je productiecode. Een `>` teken verandert bijvoorbeeld in een `>=` teken. Er ontstaat dan een mutant. Hierna voert het framework je unit tests uit. Als ten minste 1 test faalt, dan is de mutant killed. Slagen al je tests, dan is de mutant survived. Het percentage van killed mutants wordt de mutation score genoemd. Hoe hoger de mutation score, met meer gefaalde tests, hoe effectiever je unit tests zijn.

Stryker Mutator, of simpelweg ‘Stryker’, is een open source mutation testing framework waar Info Support de maintainer van is. Veel collega’s dragen hieraan bij, in vrije tijd en in Info Support tijd. Stryker bestaat uit 3 implementaties:

  • Stryker4s: voor Scala
  • Stryker: voor JavaScript en TypeScript
  • .NET: voor C#

Alle drie Stryker frameworks maken gebruik van ‘mutation switching’. Met deze techniek worden alle mutaties in 1 keer in de broncode gezet en hoeft maar 1 keer worden gecompileerd. De mutaties worden dan door middel van variabelen geactiveerd. Doordat maar 1 keer hoeft worden gecompileerd brengt dit grote snelheidsvoordelen. Hoe dit precies werkt, kan je in lezen in ons blog.

Het grote nadeel van deze techniek is dat als 1 mutatie een compileerfout creëert de rest van de mutaties ook niet kunnen compileren. Zowel Stryker.NET als Stryker voor JavaScript/TypeScript gaan al om met compileerfouten. Stryker4s nog niet. Op grotere projecten is de kans dat er een compileerfout optreedt door een mutatie groter waardoor Stryker4s niet op het project kan draaien zonder aanpassingen.

De opdracht

Onderzoek de mogelijkheden om compileerfouten in Scala-code te ontdekken. Bekijk opties om zowel voor als na het compileren analyses uit te voeren. Omdat Stryker4s voor meerdere build-tools beschikbaar is (sbt, Maven) is het belangrijk dat de oplossing ook build-tool onafhankelijk werkt.

Implementeer vervolgens een proof of concept om compileerfouten te ontdekken en mutaties te filteren. Deze implementatie moet kunnen worden aangeboden aan de ‘master’-branch in Stryker4s dus de codekwaliteit is belangrijk.

Bewijs dat je implementatie werkt door hem toe te voegen aan (een fork van) Stryker4s.

Wat biedt Info Support jou tijdens je afstudeerperiode?

Uiteraard bieden we je een uitstekend pakket aan afstudeervoorwaarden met verschillende keuzemogelijkheden. Denk hierbij aan:

  • Laptop, alle benodigde tools en ontwikkelomgevingen om je opdracht succesvol uit te kunnen voeren
  • Een afstudeervergoeding waarbij je de keus hebt uit:
  • € 1000,- bruto per maand
  • € 500,- bruto per maand + leaseauto met tankpas
  • € 600,- bruto per maand + woonruimte in Veenendaal

Tijdens je afstudeerstage word je opgenomen in een van onze business units. Zo krijg je direct een goed beeld van de ontwikkelingen binnen onze projecten.

Daarnaast biedt Info Support jou:

  • Een uitdagende afstudeeropdracht bij een solide, groeiend en financieel gezond bedrijf
  • Professionele en ervaren begeleiding, hybride werken
  • Een afstudeerprogramma met onder meer trainingen, kennisavonden, projectbezoek, activiteiten en team-, unit- en bedrijfsuitjes
  • Experimenteren met nieuwe producten en releases die in de pre-releasefase zitten
  • Sparren met andere afstudeerders en collegiale en gepassioneerde IT-collega’s
  • Uitzicht op het IT Top Traineeship mét een vast dienstverband!

Over Info Support

Info Support is specialist in maatwerksoftware, data/AI solutions, beheer en trainingen en actief in de sectoren Finance, Industry, Agriculture, Food & Retail, Mobility & Public en Healthcare. Wij bieden solide en innovatieve oplossingen voor complexe en bedrijfkritische softwarevraagstukken. Onze hoofdkantoren zijn gevestigd in Veenendaal (NL) en Mechelen (BE). Op dit moment zijn er circa 500 medewerkers bij Info Support in dienst.

De werkwijze van Info Support kenmerkt zich door een aantal kernwaarden: soliditeit, integriteit, vakmanschap en passie. Deze kernwaarden zijn verweven in ons werk en de manier waarop we met elkaar omgaan. Ook dit jaar zijn we uitgeroepen tot Top Employer Nederland!

Om te zorgen dat alle medewerkers altijd op de hoogte kunnen zijn van de nieuwste ontwikkelingen beschikt Info Support over een inhouse kenniscentrum waar graag wordt voldaan aan de honger naar meer of andere kennis en vaardigheden.

Maatwerksoftware bouwen waar miljoenen mensen dagelijks gebruik van maken. Dat is ons werk. Voor grote gerenommeerde klanten in Nederland en België. Betrouwbaar, schaalbaar en onderhoudbaar. Wij gaan voor software oplossingen van zeer hoge kwaliteit. Binnen de afgesproken tijd en het budget.
Door samen continu te vernieuwen helpen we klanten en de wereld significant vooruit. Onze ambitie en drive maakt ons vastberaden om topkwaliteit te leveren en voorop te lopen. Can you do IT?

ICT
Veenendaal
Actief in 2 landen
500 medewerkers
90% mannen - 10% vrouwen
Gemiddeld 30 jaar oud

Dit zeggen medewerkers

Daniel

IT Consultant

Daniel

Mijn technisch begeleider tijdens mijn afstuderen bij Info Support is een voorbeeld voor mij. Hij heeft twee jaar meer ervaring en is nu teamlead geworden. Dat zou voor mij een mooi streven zijn. Ik heb het aangegeven tijdens mijn ambitiegesprek en we gaan er naartoe werken. Ik kijk ernaar uit!

Daan

IT-consultant

Daan

Ik wilde tijdens mij afstuderen graag aan iets tastbaars werken. Bij Info Support had ik ruime keuze uit opdrachten. Ik koos ervoor om een smartwatch-applicatie te gaan ontwikkelen die mensen met een visuele beperking op treinstations de weg kan wijzen.