RSS.Social

The Brown PLT Blog

follow: @[email protected]

Posts

Sharing is Scaring: Why is Cloud File-Sharing Hard?

Practical Static Analysis for Privacy Bugs

Lightweight Diagramming for Lightweight Formal Methods

Argus: Interactively Debugging Rust trait Errors

LTL Tutor

Misconceptions In Finite-Trace and Infinite-Trace Linear Temporal Logic

Iterative Student Program Planning using Transformer-Driven Feedback

Differential Analysis: A Summary

Forge: A Tool to Teach Formal Methods

Finding and Fixing Standard Misconceptions About Program Behavior

Privacy-Respecting Type Error Telemetry at Scale

Profiling Programming Language Learning

The Examplar Project: A Summary

A Core Calculus for Documents

Observations on the Design of Program Planning Notations for Students

Conceptual Mutation Testing

Generating Programs Trivially: Student Use of Large Language Models

A Grounded Conceptual Model for Ownership Types in Rust

What Happens When Students Switch (Functional) Languages

Typed-Untyped Interactions: A Comparative Analysis

Little Tricky Logics

Identifying Problem Misconceptions

Performance Preconceptions

Structural Versus Pipeline Composition of Higher-Order Functions

Plan Composition Using Higher-Order Functions

Towards a Notional Machine for Runtime Stacks and Scope

Gradual Soundness: Lessons from Static Python

Applying Cognitive Principles to Model-Finding Output

Automated, Targeted Testing of Property-Based Testing Predicates

A Benchmark for Tabular Types

Student Help-Seeking for (Un)Specified Behaviors

Adding Function Transformers to CODAP

Developing Behavioral Concepts of Higher-Order Functions

Adversarial Thinking Early in Post-Secondary Education

Teaching and Assessing Property-Based Testing

Students Testing Without Coercion

Using Design Alternatives to Learn About Data Organizations

What Help Do Students Seek in TA Office Hours?

Combating Misconceptions by Encouraging Example-Writing

The Hidden Perils of Automated Assessment

Mystery Languages

Resugaring Type Rules

Picking Colors for Pyret Error Messages

Can We Crowdsource Language Design?

Crowdsourcing User Studies for Formal Methods

User Studies of Principled Model Finder Output

A Third Perspective on Hygiene

Scope Inference, a.k.a. Resugaring Scope Rules

The PerMission Store

Examining the Privacy Decisions Facing Users

The Pyret Programming Language: Why Pyret?

Resugaring Evaluation Sequences

Slimming Languages by Reducing Sugar

In-flow Peer Review: An Overview

Tierless Programming for SDNs: Differential Analysis

Tierless Programming for SDNs: Verification

Tierless Programming for SDNs: Optimality

Tierless Programming for SDNs: Events

Tierless Programming for Software-Defined Networks

CS Student Work/Sleep Habits Revealed As Possibly Dangerously Normal

Parley: User Studies for Syntax Design

Typechecking Uses of the jQuery Language

Verifying Extensions' Compliance with Firefox's Private Browsing Mode

From MOOC Students to Researchers

Social Ratings of Application Permissions (Part 4: The Goal)

Social Ratings of Application Permissions (Part 3: Permissions Within a Domain)

Social Ratings of Application Permissions (Part 2: The Effect of Branding)

Social Ratings of Application Permissions (Part 1: Some Basic Conditions)

Aluminum: Principled Scenario Exploration Through Minimality

A Privacy-Affecting Change in Firefox 20

The New MOOR's Law

Essentials of Garbage Collection

(Sub)Typing First Class Field Names

Typing First Class Field Names

S5: Engineering Eval

Progressive Types

Modeling DOM Events

Mechanized LambdaJS

ECMA Announces Official λJS Adoption

Objects in Scripting Languages

S5: Wat?

Belay Lessons: Smarter Web Programming

S5: Semantics for Accessors

S5: A Semantics for Today's JavaScript

The Essence of JavaScript

ADsafety