Lars-Åke Fredlund

dblp:f/LarsAkeFredlund · DBLP profile ↗
← Back
26ranked-venue papers
9as first author
10since 2021 · last 2026
0000-0002-8296-4609ORCID · verified

Domains — the database's venue-derived domains; a paper can count in several

Software engineering, systems software and programming languages · 21 · 7 first-author · 10 since 2021Theory of computation · 3 · 2 first-authorComputer networks · 2 · 1 first-authorArtificial intelligence and machine learning · 1Security and privacy · 1Human-computer interaction and ubiquitous computing · 1
YearPublicationVenuePosition
2026 Makina: A QuickCheck state machine library
abstract
This article presents Makina, a library written in the Elixir programming language, and a domain specific language for writing property-based testing models for stateful programs. Models written in the domain specific language are translated into standard QuickCheck state machines. Our main goals with Makina are to facilitate the task of developing correct and maintainable models, and to encourage model reuse. To meet these goals, Makina provides a declarative syntax for defining model states and commands. In particular, Makina encourages the typing of specifications, and ensures that such type information can be used by Elixir type checking tools. Moreover, to promote model reuse, the domain specific language provides constructs that allow models to be defined in terms of collections of previously defined ones. To this end a number of operators for combining models have been defined and implemented in our library. A semantics for Makina models is presented in two steps. First, a novel operational semantics for standard QuickCheck state machine models is provided. Then, a translation from a Makina model to a standard QuickCheck state model is given.
Luis Eduardo Bueso de Barrio, Lars-Åke Fredlund, Ángel Herranz-Nieva, Clara Benac Earle, Julio Mariño-Carballo
J. Log. Algebraic Methods Program.2
2025 Cybersecurity Vulnerabilities Management for Small and Medium Enterprises
José Antonio Calvo-Manzano, Tomás San Feliu Gilabert, Ángel Herranz-Nieva, Julio Mariño-Carballo, Lars-Åke Fredlund, Ricardo Colomo-Palacios, Ana M. Moreno
EuroSPI (1)5
2025 Checking Concurrency Coding Rules
Lars-Åke Fredlund, Ángel Herranz-Nieva, Julio Mariño-Carballo
PADL1
2025 Generation of algebraic data type values using evolutionary algorithms
Ignacio Ballesteros, Clara Benac Earle, Julio Mariño-Carballo, Lars-Åke Fredlund, Ángel Herranz-Nieva
J. Log. Algebraic Methods Program.4
2025 Executable contracts for Elixir
Luis Eduardo Bueso de Barrio, Lars-Åke Fredlund, Ángel Herranz-Nieva, Julio Mariño-Carballo, Clara Benac Earle
J. Log. Algebraic Methods Program.2
2025 CyberESP: An Integrated Cybersecurity Framework for SMEs
abstract
ABSTRACT Cybersecurity is a critical global concern, particularly for small‐ and medium‐sized enterprises (SMEs) with limited resources and expertise. The authors are developing CyberESP, a tailored cybersecurity framework supported by a semi‐automated tool to ensure Spanish SMEs' cybersecurity management. Following the Design Science Research (DSR) methodology and grounded in international standards, the authors identified six requirements to be satisfied by a cybersecurity framework for SMEs, which should support the identification of assets, vulnerabilities, threats, and risks. This paper presents the first part of the CyberESP framework dealing with asset management, particularly their identification and analysis of dimensions and cost. A prototype supporting these activities was developed and validated through a case study in a retail SME, showing the solution's potential and identifying particular improvements. The paper also addresses threats to validity and limitations, noting the framework's focus on hardware, software, and networks. Future work includes vulnerability management and will explore the use of cloud and IoT deployment, positioning CyberESP as a practical solution to enhance SMEs' cybersecurity resilience.
José Antonio Calvo-Manzano, Tomás San Feliu Gilabert, Ángel Herranz-Nieva, Julio Mariño-Carballo, Lars-Åke Fredlund, Ana María Moreno 0001
J. Softw. Evol. Process.5
2024 Towards an Integrated Cybersecurity Framework for Small and Medium Enterprises
José Antonio Calvo-Manzano, Tomás San Feliu Gilabert, Ángel Herranz-Nieva, Julio Mariño-Carballo, Lars-Åke Fredlund, Ricardo Colomo-Palacios, Ana María Moreno 0001
EuroSPI (1)5
2023 A formal semantics for agent distribution and fault tolerance in Jason
abstract
This article provides a formal specification of the distribution and fault-tolerance mechanisms of eJason. The eJason programming language is an extension to the agent-oriented programming language Jason that introduces native support for the transparent distribution of agents as well as fault-tolerance mechanisms. This formal semantics is presented from a multiagent system perspective. It unambiguously describes both the possible evolution of the distributed multiagent system over time and the different instruments for fault detection and fault recovery, hence exposing their strengths. This specification may serve as a reference for researchers interested in the inclusion of similar mechanisms in agent-oriented programming languages. The formal semantics has been mechanized through an (open-source) implementation written in Prolog, which implements both the standard Jason operational semantics, along with the new rules for distribution and fault-tolerance introduced in this article.
Álvaro Fernández Díaz, Lars-Åke Fredlund, Clara Benac Earle, Julio Mariño-Carballo
J. Log. Algebraic Methods Program.2
2023 Gaining trust by tracing security protocols
Lars-Åke Fredlund, Clara Benac Earle, Thomas Arts, Hans Svensson
J. Log. Algebraic Methods Program.1
2023 Testing feature-rich blockchains
abstract
Abstract Blockchain implementations have become more and more advanced, combining many different features in the same framework (e.g., oracles, names, and state channels). Since the cost of errors in reputation and represented value is high in the blockchain world, software quality is of the utmost importance. One of the main methods used to assure such high software quality is careful testing. However, the number of tests needed to achieve a high level of assurance grows quadratic with the pairs of features of the blockchain, and when testing triples features the growth is cubic. To manually craft the required large number of tests is an almost impossible undertaking in practice. In this article, we describe how property‐based testing (PBT) techniques have been used to automate testing of the core part of the Aeternity blockchain, ensuring the high software quality of the blockchain. Even though PBT is a powerful testing technique, applying it to the task of testing a complex system such as a blockchain, is far from trivial. The structure of the Aeternity property‐based test model follows the structure of the blockchain, that is, it cleanly separates different blockchain features (e.g., oracles, smart contracts) into different model parts, and moreover, reduces the amount of boilerplate test model code by focusing on the identification of valid blockchain transactions. The test model is evaluated through a careful instrumentation of test code which permits observations of which combinations of features have been tested during a test run, and with which frequency. This article documents the details of how these issues were addressed in the development of the Aeternity test model, providing insights into both the testing of other blockchains as well as the testing of other complex feature based systems.
Thomas Arts, Hans Svensson, Clara Benac Earle, Lars-Åke Fredlund
Softw. Pract. Exp.4
2019 Synthesis of verifiable concurrent Java components from formal models
Julio Mariño-Carballo, Raúl N. N. Alborodo, Lars-Åke Fredlund, Ángel Herranz-Nieva
Softw. Syst. Model.3
2016 Automatic Grading of Programming Exercises using Property-Based Testing
abstract
We present a framework for automatic grading of programming exercises using property-based testing, a form of model-based black-box testing. Models are developed to assess both the functional behaviour of programs and their algorithmic complexity. From the functional correctness model a large number of test cases are derived automatically. Executing them on the body of exercises gives rise to a (partial) ranking of programs, so that a program A is ranked higher than program B if it fails a strict subset of the test cases failed by B. The model for algorithmic complexity is used to compute worst-case complexity bounds. The framework moreover considers code structural metrics, such as McCabe's cyclomatic complexity, giving rise to a composite program grade that includes both functional, non-functional, and code structural aspects. The framework is evaluated in a course teaching algorithms and data structures using Java.
Clara Benac Earle, Lars-Åke Fredlund, John Hughes 0001
ITiCSE2
2015 Adding distribution and fault tolerance to Jason
Álvaro Fernández Díaz, Clara Benac Earle, Lars-Åke Fredlund
Sci. Comput. Program.3
2014 Property-Based Testing of JSON Based Web Services
abstract
This article describes a systematic approach to testing behavioural aspects of Web Services that communicate using the JSON data format. As a key component, the Quviq QuickCheck property-based testing tool is used to automatically generate a large number of test cases from an abstract description of the service behaviour in the form of a finite state machine. The same behavioural description is also used to decide whether the execution of a test case is successful or not. To generate random JSON data for populating tests we have developed a new library, jsongen, which given a characterisation of the JSON data as a JSON schema, automatically derives a QuickCheck generator which is capable of generating an infinite number of JSON values that validate against the schema.
Lars-Åke Fredlund, Clara Benac Earle, Ángel Herranz-Nieva, Julio Mariño-Carballo
ICWS1
2014 Execution and Verification of UML State Machines with Erlang
Ricardo J. Rodríguez, Lars-Åke Fredlund, Ángel Herranz-Nieva, Julio Mariño-Carballo
SEFM2
2008 Automatic Coding Rule Conformance Checking Using Logic Programming
Guillem Marpons-Ucero, Julio Mariño-Carballo, Manuel Carro, Ángel Herranz-Nieva, Juan José Moreno-Navarro, Lars-Åke Fredlund
PADL6
2007 McErlang: a model checker for a distributed functional programming language
abstract
We present a model checker for verifying distributed programs written in the Erlang programming language. Providing a model checker for Erlang is especially rewarding since the language is by now being seen as a very capable platform for developing industrial strength distributed applications with excellent failure tolerance characteristics. In contrast to most other Erlang verification attempts, we provide support for a very substantial part of the language. The model checker has full Erlang data type support, support for general process communication, node semantics (inter-process behave subtly different from intra-process communication), fault detection and fault tolerance through process linking, and can verify programs written using the OTP Erlang component library (used by most modern Erlang programs).
Lars-Åke Fredlund, Hans Svensson
ICFP1
2003 A verification tool for ERLANG
Lars-Åke Fredlund, Dilian Gurov, Thomas Noll 0001, Mads Dam, Thomas Arts, Gennady Chugunov
Int. J. Softw. Tools Technol. Transf.1
2002 Model Checking of Multi-Applet JavaCard Applications
Gennady Chugunov, Lars-Åke Fredlund, Dilian Gurov
CARDIS2
2001 Semi-Automated Verification of Erlang Code
abstract
Erlang is a functional programming language with support for concurrency and message passing communication that is used at Ericsson for developing telecommunication applications. We consider the challenge of verifying temporal properties of systems programmed in Erlang with dynamically evolving process structures. To accomplish this, a rich verification framework for goal-directed, proof system-based verification is used. The paper investigates the problem of semi-automating the verification task by identifying the proof parameters crucial for successful proof search.
Lars-Åke Fredlund, Dilian Gurov, Thomas Noll 0001
ASE1
2001 The Erlang Verification Tool
Thomas Noll 0001, Lars-Åke Fredlund, Dilian Gurov
TACAS2
1998 System Description: Verification of Distributed Erlang Programs
Thomas Arts, Mads Dam, Lars-Åke Fredlund, Dilian Gurov
CADE3
1997 Formal Verification of a Leader Election Protocol in Process Algebra
Lars-Åke Fredlund, Jan Friso Groote, Henri Korver
Theor. Comput. Sci.1
1991 Specification and Validation of a Simple Overtaking Protokol using LOTOS
Patrik Ernberg, Lars-Åke Fredlund, Bengt Jonsson 0001
FORTE2
1991 Modelling Dynamic Communication Structures in LOTOS
Lars-Åke Fredlund, Fredrik Orava
FORTE1
1990 An Implementation of a Translational Semantics for an Imperative Language
Lars-Åke Fredlund, Bengt Jonsson 0001, Joachim Parrow
CONCUR1