Roy Patrick Tan

  • Citations Per Year
Learn More
As computers with multi-core CPUs become the norm, software development professionals must confront the challenge of developing software that takes advantage of this hardware trend. API providers, in turn, must provide useful parallel programming libraries. PLINQ, a parallel version of Microsoft's LINQ-to-Objects, is one such API aimed at(More)
Sulu is a programming language designed with automated unit testing specifically in mind. One aim of Sulu is to demonstrate how automated software testing can be more integrated into current software development processes. Sulu's runtime and tools support automated testing from end to end; automating the generation, execution, and evaluation of test suites(More)
Writing software is an error-prone activity. Compilers help detect some of these errors: syntactic mistakes plus those semantic mistakes that can be detected through the type system. However, locating faults beyond those detectable by the compiler (and other static analysis tools) is often relegated to the programmer, who must write thorough tests to ensure(More)
Software testing is a necessary and integral part of the software quality process. It is estimated that inadequate testing infrastructure cost the US economy between $22.2 and $59.5 billion. We present Sulu, a programming language designed with automated unit testing specifically in mind, as a demonstration of how software testing may be more integrated and(More)
Testing is a useful and practical way to improve code quality. However, current testing strategies do not have a high degree of automation, and are not well integrated into the programming environment. We propose the design, construction, and evaluation of a new programming language called Sulu that supports fully automatic testing. In this paper, we give(More)
The Sulu programming language is a programming language inspired by Resolve; it uses the software component and an embedded design-by-contract formal specification as inputs to a unit testing system that provides a framework for automatically generating, executing and evaluating test cases. This paper describes the tools we constructed for the automated(More)
  • 1