Academia.eduAcademia.edu

Lightweight Formal Methods

description64 papers
group36 followers
lightbulbAbout this topic
Lightweight Formal Methods are techniques that apply formal verification principles with reduced complexity and overhead, enabling the analysis and validation of software and systems in a more accessible manner. They aim to balance rigor and practicality, facilitating the integration of formal methods into standard software development processes.
lightbulbAbout this topic
Lightweight Formal Methods are techniques that apply formal verification principles with reduced complexity and overhead, enabling the analysis and validation of software and systems in a more accessible manner. They aim to balance rigor and practicality, facilitating the integration of formal methods into standard software development processes.

Key research themes

1. How can usability and automation be enhanced to promote the adoption of lightweight formal methods in security protocol development?

This theme investigates practical approaches to making formal methods accessible and usable for security protocol design and verification. It emphasizes integrating user-friendly tooling, automation of verification tasks, and educational support to lower the entry barrier for practitioners, thereby facilitating broader adoption of formal approaches in real-world security protocol engineering.

Key finding: Developed an Eclipse-based IDE that integrates the Alice & Bob notation, protocol compilers, and automated verifiers (OFMC, ProVerif) enabling a streamlined model-driven workflow. The IDE was evaluated via literature-derived... Read more
Key finding: Introduced a cloud-based approach where system architecture models are automatically extracted from cloud APIs, enabling scalable and automated formal analysis. Demonstrated its use in access control verification at AWS,... Read more
Key finding: Identified educational strategies and resources to integrate formal methods into computing curricula, emphasizing bridging the communication gap between formal methods experts and educators. Proposed a web resource to... Read more

2. What mechanisms enable automated verification and proof assistance to overcome challenges in reasoning about complex system properties in lightweight formal methods?

Research within this theme focuses on advancing automation techniques for formal proofs, verification, and specification analysis to handle complex properties and structures. It includes the development of verification competitions, proof automation, integrated tool architectures, and formalization frameworks that collectively improve the reliability and scalability of formal methods without incurring excessive user burden.

Key finding: Documented the rise and diversity of formal verification tool competitions, highlighting their role in benchmarking, advancing automation capabilities, and facilitating reproducibility across hardware and software... Read more
Key finding: Proposed a novel automatic mechanism to prove and apply user-specified lemmas in separation logic, enabling reasoning beyond fold/unfold inductive predicates. This approach extends verification expressiveness by allowing... Read more
Key finding: Presented the Isabelle/Isar framework as a modular platform supporting the development of formal method tools like HOL-Z 3.0. It enables integration of specification, proof, and tool components in a reusable architecture that... Read more
Key finding: Developed Isabelle/SACM, a machine-checked language integrating formal and informal assurance case components, supporting consistency, traceability, and multi-formal-method evidence management. Demonstrated through a formal... Read more
Key finding: Introduced the Proof General Kit, a component-based framework for managing interactive proofs through a uniform protocol (PGIP). This middleware promotes tool interoperability, flexible user interfaces, and modular prover... Read more

3. How can formal semantics and specification integration be made more approachable and effective for language and system modeling in lightweight formal methods?

This theme explores approaches to simplify the definition and integration of formal semantics using uniform notations and tool-supported methods. It emphasizes modular and interactive specification techniques, language refinement methodologies, and uniform semantic frameworks that make formal specification more accessible and analyzable, aiding the deployment of formal methods in modeling languages and system design.

Key finding: Proposed using Alloy, a lightweight formal language with automatic analyzability, to define abstract syntax, static semantics, and dynamic semantics uniformly. Compared with traditional methods, this approach facilitates... Read more
by Bernhard Rumpe and 
1 more
Key finding: Outlined approaches to integrating informal and formal specifications via FISTs (Formal/Informal Specification Techniques), facilitating evolutionary adoption of formal methods. Emphasized the preservation of informal... Read more
Key finding: Defined a methodological framework for stepwise refinement of model-oriented formal specifications into executable Java programs using logical formulae. This approach establishes a disciplined development process from... Read more
Key finding: Introduced a hybrid approach combining explicit domain constraints (‘contracts’) with partial evaluation to statically resolve as many domain guarantees as possible, while minimizing dynamic checks. Applied in the functional... Read more
Key finding: Beyond its usability contributions, it also embodies a semantic integration of cloud service models as accurate architectural abstractions, which can serve as a practical formal semantic foundation enabling scalable proofs,... Read more

All papers in Lightweight Formal Methods

Alcoa is a tool for analyzing object models. It has a range of uses. At one end, it can act as a support tool for object model diagrams, checking for consistency of multiplicities and generating sample snapshots. At the other end, it... more
This paper looks at the independent verification and validation (IV&V) of NASA's Space Shuttle Day of Launch 1-Load Update (DoLILU) project. IV&V is defined. The system's development life cycle is explained. Data collection and analysis... more
In order to develop trustworthy distributed systems, verification techniques and formal methods, including lightweight and practical approaches, have been employed to certify the design or implementation of security protocols. Lightweight... more
In order to develop trustworthy distributed systems, verification techniques and formal methods, including lightweight and practical approaches, have been employed to certify the design or implementation of security protocols. Lightweight... more
Business has been highlighted as a one of the critical dimensions of software product line engineering. This paper's main contribution is to increase the understanding of the influence of key business factors by showing empirically that... more
We describe Java-MaC, a prototype implementation of the Monitoring and Checking (MaC) architecture for Java programs. The MaC architecture provides assurance that the target program is running correctly with respect to a formal... more
Alcoa is a tool for analyzing object models. It has a range of uses. At one end, it can act as a support tool for object model diagrams, checking for consistency of multiplicities and generating sample snapshots. At the other end, it... more
Coordination and Adaptation are two key issues when developing complex distributed systems. Coordination focuses on the interaction among software entities. Adaptation focuses on solving the problems that arise when the interacting... more
This paper describes a reusable approach using automatic use case scenario generation to specify system of systems (SoS) behaviors. The approach leverages the Monterey Phoenix (MP) language and tools which extend current methods... more
Coordination and Adaptation are two key issues when developing complex distributed systems. Coordination focuses on the interaction among software entities. Adaptation focuses on solving the problems that arise when the interacting... more
In goal-oriented requirements engineering approaches, conflict analysis has been proposed as an abstraction for risk analysis. Intuitively, given a set of expected goals to be achieved by the system-tobe, a conflict represents a subtle... more
The ability of reusing existing software has always been a major concern of Software Engineering. The reuse and integration of heterogeneous software parts is an issue for current paradigms such as Component-Based Software Development, or... more
Alcoa is a tool for analyzing object models. It has a range of uses. At one end, it can act as a support tool for object model diagrams, checking for consistency of multiplicities and generating sample snapshots. At the other end, it... more
Large, complex projects face significant barriers to coordination and communication due to continuous, rapid changes during a project's lifecycle. Such changes must be tracked, analyzed, and reconciled to ensure high-quali_ in the... more
The engineering of high-quality software requirements generally relies on properties and assumptions about the environment in which the software-to-be has to operate. Such properties and assumptions, referred to as environment conditions... more
In goal-oriented requirements engineering approaches, conflict analysis has been proposed as an abstraction for risk analysis. Intuitively, given a set of expected goals to be achieved by the system-tobe, a conflict represents a subtle... more
While conceptual modeling is strongly related to the final quality of the software product [15], conceptual modeling itself remains a challenging activity. In particular, modelers must ensure that conceptual models properly formalize... more
Requirements incompleteness is often the result of unanticipated adverse conditions which prevent the software and its environment from behaving as expected. These conditions represent risks that can cause severe software failures. The... more
Dynamically adaptive systems (DASs) are intended to monitor the execution environment and then dynamically adapt their behavior in response to changing environmental conditions. The uncertainty of the execution environment is a major... more
In goal-oriented requirements engineering approaches, conflict analysis has been proposed as an abstraction for risk analysis. Intuitively, given a set of expected goals to be achieved by the system-tobe, a conflict represents a subtle... more
The Timed Concurrent Constraint Language tccp is a declarative synchronous concurrent language, particularly suitable for modelling reactive systems. In tccp, agents communicate and synchronise through a global constraint store. It... more
The Timed Concurrent Constraint Language tccp is a declarative synchronous concurrent language, particularly suitable for modelling reactive systems. In tccp, agents communicate and synchronise through a global constraint store. It... more
While conceptual modeling is strongly related to the final quality of the software product [15], conceptual modeling itself remains a challenging activity. In particular, modelers must ensure that conceptual models properly formalize... more
— While conceptual modeling is strongly related to the final quality of the software product [15], conceptual modeling itself remains a challenging activity. In particular, modelers must ensure that conceptual models properly formalize... more
While conceptual modeling is strongly related to the final quality of the software product [15], conceptual modeling itself remains a challenging activity. In particular, modelers must ensure that conceptual models properly formalize... more
Transactional systems have been the forte of Information Systems/Software Engineering. These systems deal with automating the functionality of systems, to provide value to the users. Initially, up to the end of the decade of the 1960s,... more
The Timed Concurrent Constraint Language tccp is a declarative synchronous concurrent language, particularly suitable for modelling reactive systems. In tccp, agents communicate and synchronise through a global constraint store. It... more
— While conceptual modeling is strongly related to the final quality of the software product [15], conceptual modeling itself remains a challenging activity. In particular, modelers must ensure that conceptual models properly formalize... more
Many small companies do requirements engineering (RE) superficially or neglect it totally. However, according to software project risk studies a cursorily done RE is one of the biggest risks for software projects. So far RE research has... more
The Java-MaC framework is a run-time verification system for Java programs that can be used to dynamically test and enforce safety policies. This paper presents a formal model of the Java-MaC safety properties in terms of an operational... more
Alcoa is a tool for analyzing object models. It has a range of uses. At one end, it can act as a support tool for object model diagrams, checking for consistency of multiplicities and generating sample snapshots. At the other end, it... more
In goal-oriented requirements engineering approaches, conflict analysis has been proposed as an abstraction for risk analysis. Intuitively, given a set of expected goals to be achieved by the system-tobe, a conflict represents a subtle... more
classes are meant to define properties of a particular entity without allowing the user to directly instantiate the entity [76]. The rationale behind using abstract classes is to introduce reusability of elements and reduce redundancy of... more
This paper describes our experiences in restructuring multi-perspective requirements speci cations in order to identify and analyse inconsistencies and manage change. A partial, heterogeneous and reasonably large requirements speci cation... more
This paper describes our experiences in restructuring multi-perspective requirements specifications in order to facilitate the identification and analysis of inconsistencies and the management of change. A partial, heterogeneous and... more
Abstract. Goal modelling is a well known rigorous method for analysing problem rationale and developing requirements. Under the pressures typical of time-constrained projects its benefits are not accessible. This is because of the effort... more
Abstract—Scenarios are increasingly recognized as an effective means for eliciting, validating, and documenting software requirements. This paper concentrates on the use of scenarios for requirements elicitation and explores the process... more
Mathematically-based "formal" methods for developing software and systems have had an interesting history. Over the past twenty-five years, the subject has moved from controversies surrounding code verification, through work on... more
One of the current problems in software systems development is the increasing complexity of analysing and guaranteeing the reliable behaviour of these systems. This project is oriented towards the development of the methods, tools and... more
Current research in specifications is emphasizing the practical use of formal specifications in program design. One way to encourage their use in practice is to provide specification languages that are accessible to both designers and... more
In this paper we present the state/event-based temporal logic µUCTL which is a logic oriented towards a natural description of dynamic properties of UML models. This logic allows to specify the basic properties that a runtime system... more
This paper presents, from a user point-of-view, the mechanism of cooperation between constraint domains that is currently part of the system T OY , an implementation of a constraint functional logic programming scheme. This implementation... more
We begin by describing the Larch approach to speci cation and illustrating it with a few small examples. We then discuss LP, the Larch proof assistant, a tool that supports all the Larch languages. Our intent is to give you only a taste... more
One of the most important approaches to requirements engineering of the last ten years is the KAOS model. The authors introduce a profile that allows the KAOS model to be represented in the UML. The paper includes an informal presentation... more
In recent years, there has been a growing interest in the use of reference conceptual models to capture information about complex and sensitive business domains (e.g., finance, healthcare, space). These models play a fundamental role in... more
Abstract. Goal modelling is a well known rigorous method for analysing problem rationale and developing requirements. Under the pressures typical of time-constrained projects its benefits are not accessible. This is because of the effort... more
Tabular notations, in particular SCR specifications, have proved to be a useful means for formally describing complex requirements. The SCR method offers a powerful family of analysis tools, known as the SCR Toolset, but its availability... more
Download research papers for free!