Internship model-checking online payment services|booq

Vacature

Internship model-checking online payment services

Full-time
Hengelo
Verifying the correctness of 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.
Solliciteer direct

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.

Solliciteer direct

Form has been submitted successfully!
(optioneel)
(optioneel)
(optioneel)
Sleep hier je bestanden of klik om te uploaden
Lees hier onze Privacy Policy.

Ready, set

Geef jouw business een boost met totaaloplossing booq. Onze expert van de dichtstbijzijnde dealer neemt zo snel mogelijk contact met je op. The future in your hands!

Unieke features voor jouw branche
Jij bepaalt welke bricks en integraties waar en wanneer nodig zijn
Meer connectiviteit en flexibiliteit

Go!

Ons team staat voor je klaar! We nemen binnen 2 werkdagen contact met je op voor een gratis demo!

Laat je ondertussen inspireren op ons blog

Wij gebruiken cookies

Wij gebruiken cookies om je de beste ervaring te kunnen bieden op onze website. Meer weten over de cookies op deze website? Bekijk dan ons privacy statement.

Noodzakelijke cookies

Noodzakelijke cookies helpen een website bruikbaarder te maken. Deze functionele cookies zorgen ervoor dat je de website correct kunt weergeven en gebruiken. Zonder deze cookies kan de website niet naar behoren werken.

Ingeschakeld Uitgeschakeld

Statistieken

Een goede website is nooit af! We proberen iedere dag weer de websitebezoeker een betere ervaring te bieden. Met de cookies voor statistieken analyseren we hoe bezoekers onze website gebruiken. Zo ontdekken we wat goed werkt én wat wij nog beter moeten doen! De gegevens worden anoniem verzameld, maar geven ons wel het inzicht wat nodig is om iedere dag weer een beter booq-website te maken.

Ingeschakeld Uitgeschakeld

Marketing

Deze cookies worden gebruikt om bezoekers te volgen wanneer ze verschillende websites bezoeken. Het doel is om advertenties weer te geven die passen bij de behoeftes van de individuele bezoeker. Denk bijvoorbeeld aan Google advertenties of Social media advertenties. Wil je weten om welke cookies het precies gaat? We beschrijven ze in ons privacy statement.

Ingeschakeld Uitgeschakeld