Vacatures

Internship model-checking online payment services

Enschede Softwareontwikkeling Stage/assignment WO

About the assignment

In recent years, booq's ecosystem has shifted from a traditional POS solution to a modern omnichannel-based solution. With respect to payments, the traditional approach was quite straightforward. For instance, one would order a drink and then pay the amount required for that order, either by card or cash. This linear sequence of events is quite easy to oversee. Hence, verifying the correctness of these events has also not been a serious concern. In our modern approach multiple cloud-based systems play a role, in order to establish a successful iDEAL or PayPal payment for instance. Among these systems we have back-ends that determine the amount to be paid, services that initiate the payment, services that complete the payment and your mobile device that acts as a front-end. Verifying the correctness of these interacting systems is a serious challenge. The fact that communication between these systems mostly happens asynchronously, and across multiple vendors, makes verification even harder.

We would like to see a model-checking based solution that verifies the correctness of these interacting systems. Based on some formalized requirements, one can design and refine formal models of these systems.  Designing these models can be done using some formal modelling language. Refining is done through traces extracted from these models by a model checker that also considers the requirements. These traces can be made executable and be run against booq's online payment services through REST APIs. Depending on the output of the running system one can improve the formalization, or show that the implementation needs improvement. This technique is also known as Counter Example Guided Abstraction Refinement (CEGAR). As the behavior of the individual systems is typically well understood; their complex interactions usually to a lesser degree, leading to unforeseen corner cases. These corner cases may for instance present themselves in practise as users not being able to complete a payment successfully.  By applying the CEGAR-based solution we hope to catch these corner cases early and thus improve the correctness of the booq platform in general.

We would like to meet you

If you are a student WO Computer Science and you are interested in this assignment, you can contact Jeroen Meijer

Wat krijg je van ons?

Heerlijke verse lunch van de zaak

Elke dag samen lunchen, dat vinden we belangrijk. Brood, crackers, fruit, sap… Het staat voor je klaar, waarna je bij een groep collega’s aan tafel aan kunt schuiven. Én het is van de zaak! Een luxe om in de ochtenden je lunchbrood niet te hoeven smeren.

Vrijdagmiddag een biertje en bitterballen

Bij ons gaat geen vrijdagmiddag voorbij zonder borrel. Of je nu in Oosterwolde of Hengelo werkt. Met fris, bier of wijn in de hand sluiten we samen de week af. Én laten we de bitterballen niet vergeten! Mocht je een vrijdag niet kunnen of willen? Geen probleem, want niemand is verplicht.

Opleidings- mogelijkheden en ruimte om te groeien

Uitdaging en een afwisselende baan binnen een moderne organisatie? Dat vind je bij ons! Naast de uitstekende primaire en secundaire arbeidsvoorwaarden krijg je alle gelegenheid interne trainingen te volgen én te groeien naar een andere functie. Zo kun jij je blijven ontwikkelen en groeien wij met je mee.

Over ons

Wij zijn Eijsink. De kassaleverancier? Klopt, maar we doen nog veel meer. Noem ons innovatief softwarebedrijf mét internationale ambities. Waar 200 specialisten elke dag in teams werken aan futureproof oplossingen die ertoe doen voor hospitality ondernemers. Hier krijg je de kans om van betekenis te zijn in het succes van aansprekende klanten (Efteling, De Beren, Center Parcs). Bij ons vind je een familiare bedrijfscultuur waar we vertrouwen op je kennis en kunde. Betrokkenen en bevlogen mensen voelen zich bij ons meteen thuis. Er wordt goed voor je gezorgd dus met de primaire en secundaire voorwaarden zit het goed. Én successen vieren we samen, ook op vrijdag als we met z’n allen een drankje doen. Gezellig!

Weet je, als we álles willen vertellen wat we doen, zijn we nog wel even bezig. We laten het liever gewoon zien.

Onze sollicitatieprocedure

1. Sollicitatie verstuurd

We bekijken je sollicitatie zorgvuldig, maar we houden je niet te lang in spanning: binnen 2 weken weet je of we je uitnodigen voor een gesprek.

2. Je bent door!

Top! We bellen om het eerste gesprek in te plannen. Prangende vragen kun je dan al meteen stellen.

3. Face-to-face

Zo’n eerste gesprek zien we als een kennismaking. Zonder stress, juist informeel. We willen een goed beeld van jou krijgen. En jij natuurlijk van ons. Dat kan alleen als we elkaar het hemd van het lijf vragen. Zo weten we al snel of we goed bij elkaar passen.

4. Part two

Smaakt het naar meer? Dan gaan we in het tweede gesprek de diepte in. Jij licht je woeste skillset verder toe, wij gaan in op de details van de functie en het team.

5. Wij ook van jou

Twee gesprekken zijn vaak genoeg om een goed beeld te krijgen. Is het enthousiasme wederzijds? Dan doen we je graag een aanbod en  begint jouw carrière bij Eijsink. Welkom!

Direct
solliciteren