The performance of many dynamic language implementations suffers from high allocation rates and runtime type checks. This makes dynamic languages less applicable to purely algorit...
Carl Friedrich Bolz, Antonio Cuni, Maciej FijaBkow...
Passing multiple continuation arguments to a function in CPS form allows one to encode a wide variety of direct-style control constructs, such as conditionals, exceptions, and mul...
Writing deterministic programs is often difficult for problems whose optimal solutions depend on unpredictable properties of the programs’ inputs. Difficulty is also encounter...
Navigating through tree structures is a core operation in tree processing programs. Most notably, XML processing programs intensively use XPath, the path specification language t...
The FixCache algorithm, introduced in 2007, effectively identifies files or methods which are likely to contain bugs by analyzing source control repository history. However, many ...
Caitlin Sadowski, Chris Lewis 0002, Zhongpeng Lin,...
Studying the evolution of topics (collections of co-occurring words) in a software project is an emerging technique to automatically shed light on how the project is changing over...
Stephen W. Thomas, Bram Adams, Ahmed E. Hassan, Do...
A good understanding of the impact of different types of bugs on various project aspects is essential to improve software quality research and practice. For instance, we would ex...
Modern software is often developed over many years with hundreds of thousands of commits. Commit metadata is a rich source of social characteristics, including the commit’s time...
Software readability is a property that influences how easily a given piece of code can be read and understood. Since readability can affect maintainability, quality, etc., prog...
This paper describes an approach to allow end users to define new procedures through tutorial instruction. Our approach allows users to specify procedures in natural language in t...