Benjamin C. Pierce
YOU?
Author Swipe
View article: Typing Strictness (Extended Version)
Typing Strictness (Extended Version) Open
Strictness analysis is critical to efficient implementation of languages with non-strict evaluation, mitigating much of the performance overhead of laziness. However, reasoning about strictness at the source level can be challenging and un…
View article: Tuning Random Generators: Property-Based Testing as Probabilistic Programming
Tuning Random Generators: Property-Based Testing as Probabilistic Programming Open
Property-based testing validates software against an executable specification by evaluating it on randomly generated inputs. The standard way that PBT users generate test inputs is via generators that describe how to sample test inputs thr…
View article: Bennet: Randomized Specification Testing for Heap-Manipulating Programs
Bennet: Randomized Specification Testing for Heap-Manipulating Programs Open
Property-based testing (PBT), widely used in functional languages and interactive theorem provers, works by randomly generating many inputs to a system under test. While PBT has also seen some use in low-level languages like C, users in th…
View article: Tuning Random Generators: Property-Based Testing as Probabilistic Programming
Tuning Random Generators: Property-Based Testing as Probabilistic Programming Open
Property-based testing validates software against an executable specification by evaluating it on randomly generated inputs. The standard way that PBT users generate test inputs is via generators that describe how to sample test inputs thr…
View article: A view of the sustainable computing landscape
A view of the sustainable computing landscape Open
This article presents a holistic research agenda to address the significant environmental impact of information and communication technology (ICT), which accounts for 2.1%-3.9% of global greenhouse gas emissions. It proposes several resear…
View article: QED in Context: An Observation Study of Proof Assistant Users
QED in Context: An Observation Study of Proof Assistant Users Open
Interactive theorem provers, or proof assistants, are important tools across many areas of computer science and mathematics, but even experts find them challenging to use effectively. To improve their design, we need a deeper, user-centric…
View article: Improving In-context Learning Example Retrieval for Classroom Discussion Assessment with Re-ranking and Label Ratio Regulation
Improving In-context Learning Example Retrieval for Classroom Discussion Assessment with Re-ranking and Label Ratio Regulation Open
View article: Open Data Sets for Assessing Photovoltaic Reliability
Open Data Sets for Assessing Photovoltaic Reliability Open
Photovoltaic (PV) systems have become a cornerstone of renewable energy strategies, particularly due to the significant reduction in solar power costs over the past decade. However, the long-term reliability of PV installations presents a …
View article: Tyche: Making Sense of PBT Effectiveness
Tyche: Making Sense of PBT Effectiveness Open
View article: Solar Cell Crack Image Generation for Power Loss Prediction
Solar Cell Crack Image Generation for Power Loss Prediction Open
View article: Mica: Automated Differential Testing for OCaml Modules
Mica: Automated Differential Testing for OCaml Modules Open
Suppose we are given two OCaml modules implementing the same signature. How do we check that they are observationally equivalent -- that is, that they behave the same on all inputs? One established technique is to use a property-based test…
View article: Stream Types
Stream Types Open
We propose a rich foundational theory of typed data streams and stream transformers, motivated by two high-level goals. First, the type of a stream should be able to express complex sequential patterns of events over time. And second, it s…
View article: Analyzing Large Language Models for Classroom Discussion Assessment
Analyzing Large Language Models for Classroom Discussion Assessment Open
Automatically assessing classroom discussion quality is becoming increasingly feasible with the help of new NLP advancements such as large language models (LLMs). In this work, we examine how the assessment performance of 2 LLMs interacts …
View article: pvplr-python: Python package implementation of PVplr for Performance Loss Rate (PLR) analysis
pvplr-python: Python package implementation of PVplr for Performance Loss Rate (PLR) analysis Open
Due to software fragmentation, PV system modeling teams can be limited to language specific packages, preventing cross-sectional analysis of different modeling techniques and workflows. To this end, PVplr, a popular PV performance modeling…
View article: Capacity Expansion for Utility Scale Single Axis Tracked PV Systems with Sub-Optimal Performance
Capacity Expansion for Utility Scale Single Axis Tracked PV Systems with Sub-Optimal Performance Open
View article: Carbon Connect: An Ecosystem for Sustainable Computing
Carbon Connect: An Ecosystem for Sustainable Computing Open
Computing is at a moment of profound opportunity. Emerging applications -- such as capable artificial intelligence, immersive virtual realities, and pervasive sensor systems -- drive unprecedented demand for computer. Despite recent advanc…
View article: Property-Based Testing in Practice
Property-Based Testing in Practice Open
Property-based testing (PBT) is a testing methodology where users write executable formal specifications of software components and an automated harness checks these specifications against many automatically generated inputs. From its root…
View article: Transfer learning for crack detection
Transfer learning for crack detection Open
View article: Solar Cell Crack Image Generation for Power Loss Prediction
Solar Cell Crack Image Generation for Power Loss Prediction Open
View article: pvcracks
pvcracks Open
SAND2024-00922O This software uses electroluminescence images to predict power loss due to cell cracks in photovoltaic modules. The software will incorporate trained variational autoencoder(s) to parameterize cell cracks detected in electr…
View article: Reflecting on Random Generation
Reflecting on Random Generation Open
Expert users of property-based testing often labor to craft random generators that encode detailed knowledge about what it means for a test input to be valid and interesting. Fortunately, the fruits of this labor can also be put to other u…
View article: Etna: An Evaluation Platform for Property-Based Testing (Experience Report)
Etna: An Evaluation Platform for Property-Based Testing (Experience Report) Open
Property-based testing is a mainstay of functional programming, boasting a rich literature, an enthusiastic user community, and an abundance of tools — so many, indeed, that new users may have difficulty choosing. Moreover, any given frame…
View article: Stream Types
Stream Types Open
We propose a rich foundational theory of typed data streams and stream transformers, motivated by two high-level goals: (1) The type of a stream should be able to express complex sequential patterns of events over time. And (2) it should d…
View article: Formalizing Stack Safety as a Security Property
Formalizing Stack Safety as a Security Property Open
The term stack safety is used to describe a variety of compiler, runtime, and hardware mechanisms for protecting stack memory. Unlike “the heap,” the ISA-level stack does not correspond to a single high-level language concept: different co…
View article: Emergency medical services utilisation among febrile children attending emergency departments across Europe: an observational multicentre study
Emergency medical services utilisation among febrile children attending emergency departments across Europe: an observational multicentre study Open
View article: Utilizing Natural Language Processing for Automated Assessment of Classroom Discussion
Utilizing Natural Language Processing for Automated Assessment of Classroom Discussion Open
Rigorous and interactive class discussions that support students to engage in high-level thinking and reasoning are essential to learning and are a central component of most teaching interventions. However, formally assessing discussion qu…
View article: Horizon Profiling Methods for Photovoltaic Arrays
Horizon Profiling Methods for Photovoltaic Arrays Open
View article: Parsing randomness
Parsing randomness Open
Random data generators can be thought of as parsers of streams of randomness. This perspective on generators for random data structures is established folklore in the programming languages community, but it has never been formalized, nor h…
View article: Guideline adherence in febrile children below 3 months visiting European Emergency Departments: an observational multicenter study
Guideline adherence in febrile children below 3 months visiting European Emergency Departments: an observational multicenter study Open
View article: Solar Transposition Modeling via Deep Neural Networks with Sky Images.
Solar Transposition Modeling via Deep Neural Networks with Sky Images. Open