Navegación

Búsqueda

Búsqueda avanzada

El autor Lars-Ake Fredlund ha publicado 4 artículo(s):

1 - Automatic Grading of Programming Exercises using Property-Based Testing

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.

Autores: Clara Benac Earle  / Lars-Ake Fredlund / John Hughes / 
Palabras Clave:

2 - Tool Demonstration: Testing JSON Web Services Using Jsongen (Demostración)

This article describes a tool, jsongen, which permits testing behavioural aspects of Web Services that communicate using the JSON data format. Provided a characterisation of the JSON data as a JSON schema, the jsongen tool will:(i) automatically derive a QuickCheck (the property-based testing tool)generator which can generate an infinite number of JSON values that validate against the schema, and (ii) provides a generic QuickCheck state machine which is capable of following the (hyper)links documented in the JSON schema, to automatically explore the web service. The default behaviour of the state machine can be easily customized to include web service specific checks. The approach is demonstrated by applying it to the task of testing a simplified web service for banking.

Autores: Ignacio Ballesteros / Luis Eduardo Bueso de Barrio / Lars-Ake Fredlund / Julio Mariño / 
Palabras Clave: Analysis tools - JSON - Testing - web services

3 -

4 - Pitfalls of Jason Concurrency

Jason is a well-known programming language for multia-gent systems where fine-grained concurrency primitives allow a highly-concurrent efficient execution. However, typical concurrency errors suchas race conditions are hard to avoid. In this chapter, we analyze a numberof such potential pitfalls of the Jason concurrency model, and, describeboth how such risks can be mitigated in Jason itself, as well as discussingthe alternatives implemented in eJason, an experimental extension of Ja-son with support for distribution and fault tolerance. In some cases, wepropose changes in the standard Jason semantics.

Autores: Álvaro Fernández Díaz / Clara Benac Earle / Lars-Ake Fredlund / 
Palabras Clave: BDI - Concurrency - Jason programming