English
Related papers

Related papers: Verification of Patterns

200 papers

A software architecture describes the structure of a computing system by specifying software components and their interactions. Mapping a software architecture to an implementation is a well known challenge. A key element of this mapping is…

Programming Languages · Computer Science 2011-09-14 Damien Cassou , Emilie Balland , Charles Consel , Julia Lawall

Formal verification of software is a bit of a niche activity: it is only applied to the most safety-critical or security-critical software and it is typically only performed by specialized verification engineers. This paper considers…

Logic in Computer Science · Computer Science 2020-11-02 Alastair Reid , Luke Church , Shaked Flur , Sarah de Haas , Maritza Johnson , Ben Laurie

We review state-of-the-art formal methods applied to the emerging field of the verification of machine learning systems. Formal methods can provide rigorous correctness guarantees on hardware and software systems. Thanks to the availability…

Programming Languages · Computer Science 2021-04-22 Caterina Urban , Antoine Miné

The Curry-Howard correspondence is about a relationship between types and programs on the one hand and propositions and proofs on the other. The implications for programming language design and program verification is an active field of…

Programming Languages · Computer Science 2015-09-15 Jørgen Steensgaard-Madsen

A novel parallel patterns library, Groovy Parallel Patterns, is presented which, from the outset, has been designed to exploit more general process parallelism than the usual data and task parallel architectures. The library executes on a…

Distributed, Parallel, and Cluster Computing · Computer Science 2021-03-23 Jon Kerridge , Neil Urquhart

A software pattern is a reusable solution to address a commonly occurring problem within a given context when designing software. Using patterns is a common practice for software architects to ensure software quality. Many pattern…

Software Engineering · Computer Science 2022-01-13 Nicolas Six , Nicolas Herbaut , Camille Salinesi

This paper discusses a model-based approach to testing as a vital part of software development. It argues that an approach using models as central development artifact needs to be added to the portfolio of software engineering techniques,…

Software Engineering · Computer Science 2014-09-24 Bernhard Rumpe

We propose a methodology for verifying security properties of network protocols at design level. It can be separated in two main parts: context and requirements analysis and informal verification; and formal representation and procedural…

Cryptography and Security · Computer Science 2013-10-29 Jesus Diaz , David Arroyo , Francisco B. Rodriguez

Formal modelling languages play a key role in the development of software since they enable users to prove correctness of system properties. However, there is still not a clear understanding on how to map a formal model to a specific…

Software Engineering · Computer Science 2017-06-15 Victor Rivera , JooYoung Lee , Manuel Mazzara , Leonard Johard

Array-intensive programs are often amenable to parallelization across many cores on a single machine as well as scaling across multiple machines and hence are well explored, especially in the domain of high-performance computing. These…

Programming Languages · Computer Science 2019-05-23 Kunal Banerjee , Chandan Karfa

Software architecture has been a key research area in the software engineering community due to its significant role in creating high quality software. The trend of developing product lines rather than single products has made the software…

Software Engineering · Computer Science 2015-07-27 Faheem Ahmed , Luiz Fernando Capretz

[Context and motivation] When developing software, coordination between different organizational units is essential in order to develop a good quality product, on time and within budget. Particularly, the synchronization between…

This paper presents a formal approach to specify and verify object-oriented programs written in the `programming to interfaces' paradigm. Besides the methods to be invoked by its clients, an interface also declares a set of abstract…

Logic in Computer Science · Computer Science 2013-12-02 Jianhua Zhao , Xuandong LI

The continuous software engineering paradigm is gaining popularity in modern development practices, where the interleaving of design and runtime activities is induced by the continuous evolution of software systems. In this context,…

Software Engineering · Computer Science 2024-01-31 Romina Eramo , Michele Tucci , Daniele Di Pompeo , Vittorio Cortellessa , Antinisca Di Marco , Davide Taibi

Context: Software architecture is a knowledge-intensive field. One mechanism for storing architecture knowledge is the recognition and description of architectural patterns. Selecting architectural patterns is a challenging task for…

Software Engineering · Computer Science 2020-05-19 Siamak Farshidi , Slinger Jansen , Jan Martijn van der Werf}

Contemporary intelligent systems incorporate software components, including machine learning components. As they grow in complexity and data volume such machine learning systems face unique quality challenges like scalability and…

Software Engineering · Computer Science 2025-01-22 Simeon Emanuilov , Aleksandar Dimov

Computation nowadays is becoming inherently concurrent, either because of characteristics of the hardware (with multicore processors becoming omnipresent) or due to the ubiquitous presence of distributed systems (incarnated in the…

Software Engineering · Computer Science 2011-08-01 Mohammad Reza Mousavi , Antonio Ravara

Computer Algebra systems are widely spread because of some of their remarkable features such as their ease of use and performance. Nonetheless, this focus on performance sometimes leads to unwanted consequences: algorithms and computations…

Logic in Computer Science · Computer Science 2014-01-27 Jesús Aransay , Jose Divasón

Formal verification provides mathematical guarantees that a software is correct. Design-level verification tools ensure software specifications are correct, but they do not expose defects in actual implementations. For this purpose,…

Software Engineering · Computer Science 2025-05-01 Paschal C. Amusuo , Parth V. Patil , Owen Cochell , Taylor Le Lievre , James C. Davis

Digitalization efforts often face a key challenge: business processes must not only be efficient in achieving their goals but also adhere to legal regulations. Business process compliance refers to aligning processes with these regulations.…

Software Engineering · Computer Science 2024-10-16 Hugo A. López , Thomas T. Hildebrandt