A grounded conceptual model for ownership types in Rust
Programmers learning Rust struggle to understand ownership types, Rust's core mechanism
for ensuring memory safety without garbage collection. This paper describes our attempt to …
for ensuring memory safety without garbage collection. This paper describes our attempt to …
Abstract alloy instances
Alloy is a textual modeling language for structures and behaviors of software designs. One
of the reasons for Alloy to become a popular light-weight formal method is its support for …
of the reasons for Alloy to become a popular light-weight formal method is its support for …
Assessing the impact of hints in learning formal specification
Background: Many programming environments include automated feedback in the form of
hints to help novices learn autonomously. Some experimental studies investigated the …
hints to help novices learn autonomously. Some experimental studies investigated the …
Empirically Exploring How Novices Write Software Models in Alloy
A Jovanovic, A Sullivan - arxiv preprint arxiv:2402.06624, 2024 - arxiv.org
Writing declarative models has numerous benefits, ranging from automated reasoning and
correction of design-level properties before systems are built, to automated testing and …
correction of design-level properties before systems are built, to automated testing and …
Grounded Language Design for Lightweight Diagramming for Formal Methods
Model finding, as embodied by SAT solvers and similar tools, is used widely, both in
embedding settings and as a tool in its own right. For instance, tools like Alloy target SAT to …
embedding settings and as a tool in its own right. For instance, tools like Alloy target SAT to …
Property-Based Testing in Practice
Property-based testing (PBT) is a testing methodology where users write executable formal
specifications of software components and an automated harness checks these …
specifications of software components and an automated harness checks these …
Data-Centricity: Rethinking Introductory Computing to Support Data Science
K Fisler - 1st International Workshop on Data Systems Education, 2022 - dl.acm.org
On a growing number of campuses, data science programs offer introductory courses that
include a non-trivial amount of programming. The content of such courses overlaps that of …
include a non-trivial amount of programming. The content of such courses overlaps that of …
Alloy repair hint generation based on historical data
Platforms to support novices learning to program are often accompanied by automated next-
step hints that guide them towards correct solutions. Many of those approaches are data …
step hints that guide them towards correct solutions. Many of those approaches are data …
Right or Wrong–Understanding How Users Write Software Models in Alloy
A Jovanovic, A Sullivan - … on Software Engineering and Formal Methods, 2024 - Springer
Writing declarative models has numerous benefits, ranging from automated reasoning and
correction of design-level properties before systems are built, to automated testing and …
correction of design-level properties before systems are built, to automated testing and …
Live Programming for Finite Model Finders
A Sullivan - 2023 38th IEEE/ACM International Conference on …, 2023 - ieeexplore.ieee.org
Finite model finders give users the ability to specify properties of a system in mathematical
logic and then automatically find concrete examples, called solutions, that satisfy the …
logic and then automatically find concrete examples, called solutions, that satisfy the …