Sebastian Krings

SE
4papers
19citations
Novelty8%
AI Score12

4 Papers

SEOct 12, 2020
Rooting Formal Methods within Higher Education Curricula for Computer Science and Software Engineering -- A White Paper

Antonio Cerone, Markus Roggenbach, James Davenport et al.

This white paper argues that formal methods need to be better rooted in higher education curricula for computer science and software engineering programmes of study. To this end, it advocates (i) improved teaching of formal methods; (ii) systematic highlighting of formal methods within existing, `classical' computer science courses; and (iii) the inclusion of a compulsory formal methods course in computer science and software engineering curricula. These recommendations are based on the observations that (a) formal methods are an essential and cost-effective means to increase software quality; however (b) computer science and software engineering programmes typically fail to provide adequate training in formal methods; and thus (c) there is a lack of computer science graduates who are qualified to apply formal methods in industry. This white paper is the result of a collective effort by authors and participants of the 1st International Workshop on "Formal Methods, Fun for Everybody" which was held in Bergen, Norway, 2-3 December 2019. As such, it represents insights based on learning and teaching computer science and software engineering (with or without formal methods) at various universities across Europe.

PLSep 18, 2019
Prolog Coding Guidelines: Status and Tool Support

Falco Nogatz, Philipp Körner, Sebastian Krings

The importance of coding guidelines is generally accepted throughout developers of every programming language. Naturally, Prolog makes no exception. However, establishing coding guidelines is fraught with obstacles: Finding common ground on kind and selection of rules is matter of debate; once found, adhering to or enforcing rules is complicated as well, not least because of Prolog's flexible syntax without keywords. In this paper, we evaluate the status of coding guidelines in the Prolog community and discuss to what extent they can be automatically verified. We implemented a linter for Prolog and applied it to several packages to get a hold on the current state of the community.

LOAug 27, 2019
Towards Constraint Logic Programming over Strings for Test Data Generation

Sebastian Krings, Joshua Schmidt, Patrick Skowronek et al.

In order to properly test software, test data of a certain quality is needed. However, useful test data is often unavailable: Existing or hand-crafted data might not be diverse enough to enable desired test cases. Furthermore, using production data might be prohibited due to security or privacy concerns or other regulations. At the same time, existing tools for test data generation are often limited. In this paper, we evaluate to what extent constraint logic programming can be used to generate test data, focussing on strings in particular. To do so, we introduce a prototypical CLP solver over string constraints. As case studies, we use it to generate IBAN numbers and calender dates.

SEApr 26, 2014
Who watches the watchers: Validating the ProB Validation Tool

Jens Bendisposto, Sebastian Krings, Michael Leuschel

Over the years, ProB has moved from a tool that complemented proving, to a development environment that is now sometimes used instead of proving for applications, such as exhaustive model checking or data validation. This has led to much more stringent requirements on the integrity of ProB. In this paper we present a summary of our validation efforts for ProB, in particular within the context of the norm EN 50128 and safety critical applications in the railway domain.