107 research outputs found
Source Reconstruction for Spatio-Temporal Physical Statistical Models
In many applications, a signal is deformed by well-understood dynamics before
it can be measured. For example, when a pollutant enters a river, it
immediately begins dispersing, flowing, settling, and reacting. If the
pollutant enters at a single point, its concentration can be measured before it
enters the complex dynamics of the river system. However, in the case of a
non-point source pollutant, it is not clear how to efficiently measure its
source. One possibility is to record concentration measurements in the river,
but this signal is masked by the fluid dynamics of the river. Specifically,
concentration is governed by the advection-diffusion-reaction PDE, with an
unknown source term. We propose a method to statistically reconstruct a source
term from these PDE-deformed measurements. Our method is general and applies to
any linear PDE. This method has important applications in the study of
environmental DNA and non-point source pollution.Comment: 28 pages, 8 figures, 2 table
QuickSpec: Guessing Formal Specifications using Testing
We present QuickSpec, a tool that automatically generates algebraic specifications for sets of pure functions. The tool is based on testing, rather than static analysis or theorem proving. The main challenge QuickSpec faces is to keep the number of generated equations to a minimum while maintaining completeness. We demonstrate how QuickSpec can improve one’s understanding of a program module by exploring the laws that are generated using two case studies: a heap library for Haskell and a fixed-point arithmetic library for Erlang
Towards a software product line of trie-based collections
Collection data structures in standard libraries of programming languages are designed to excel for the average case by carefully balancing memory footprint and runtime performance. These implicit design decisions and hard-coded trade-offs do constrain users from using an optimal variant for a given problem. Although a wide range of specialized collections is available for the Java Virtual Machine (JVM), they introduce yet another dependency and complicate user adoption by requiring specific Application Program Interfaces (APIs) incompatible with the standard library. A product line for collection data structures would relieve library designers from optimizing for the general case. Furthermore, a product line allows evolving the potentially large code base of a collection family efficiently. The challenge is to find a small core framework for collection data structures which covers all variations without exhaustively listing them, while supporting good performance at the same time. We claim that the concept of Array Mapped Tries (AMTs) embodies a high degree of commonality in the sub-domain of immutable collection data structures. AMTs are flexible enough to cover most of the variability, while minimizing code bloat in the generator and the generated code. We implemented a Data Structure Code Generator (DSCG) that emits immutable collections based on an AMT skeleton foundation. The generated data structures outperform competitive handoptimized implementations, and the generator still allows for customization towards specific workloads
Realizability Interpretation and Normalization of Typed Call-by-Need -calculus With Control
We define a variant of realizability where realizers are pairs of a term and
a substitution. This variant allows us to prove the normalization of a
simply-typed call-by-need \lambda$-$calculus with control due to Ariola et
al. Indeed, in such call-by-need calculus, substitutions have to be delayed
until knowing if an argument is really needed. In a second step, we extend the
proof to a call-by-need \lambda-calculus equipped with a type system
equivalent to classical second-order predicate logic, representing one step
towards proving the normalization of the call-by-need classical second-order
arithmetic introduced by the second author to provide a proof-as-program
interpretation of the axiom of dependent choice
Automated Amortised Resource Analysis for Term Rewrite Systems
Based on earlier work on amortised resource analysis, we establish a novel automated amortised resource analysis for term rewrite systems. The method is presented in an inference system akin to a type system and gives rise to polynomial bounds on the innermost runtime complexity of the analysed term rewrite system. Our analysis does not restrict the input rewrite system in any way. This facilitates integration in a general framework for resource analysis of programs. In particular, we have implemented the method and integrated it into our tool TCT.(VLID)2581042Accepted versio
Effect of iron supplementation on the erosive potential of carbonated or decarbonated beverage
- …