203,759 research outputs found
Finding The Lazy Programmer's Bugs
Traditionally developers and testers created huge numbers of explicit tests, enumerating interesting cases, perhaps
biased by what they believe to be the current boundary conditions of the function being tested. Or at
least, they were supposed to.
A major step forward was the development of property testing. Property testing requires the user to write a few
functional properties that are used to generate tests, and requires an external library or tool to create test data
for the tests. As such many thousands of tests can be created for a single property. For the purely functional
programming language Haskell there are several such libraries; for example QuickCheck [CH00], SmallCheck
and Lazy SmallCheck [RNL08].
Unfortunately, property testing still requires the user to write explicit tests. Fortunately, we note there are
already many implicit tests present in programs. Developers may throw assertion errors, or the compiler may
silently insert runtime exceptions for incomplete pattern matches.
We attempt to automate the testing process using these implicit tests. Our contributions are in four main
areas: (1) We have developed algorithms to automatically infer appropriate constructors and functions needed
to generate test data without requiring additional programmer work or annotations. (2) To combine the
constructors and functions into test expressions we take advantage of Haskell's lazy evaluation semantics by
applying the techniques of needed narrowing and lazy instantiation to guide generation. (3) We keep the type
of test data at its most general, in order to prevent committing too early to monomorphic types that cause
needless wasted tests. (4) We have developed novel ways of creating Haskell case expressions to inspect elements
inside returned data structures, in order to discover exceptions that may be hidden by laziness, and to make
our test data generation algorithm more expressive.
In order to validate our claims, we have implemented these techniques in Irulan, a fully automatic tool for
generating systematic black-box unit tests for Haskell library code. We have designed Irulan to generate high
coverage test suites and detect common programming errors in the process
Multiple analytical perspectives of the Eleme Anterior-Perfective
There is increasing recognition in typology that linguistic categories are
language-specific and not universal, increasing the need for explicitness in
language descriptions. In light of this development, I argue in this paper that preexisting
labels and descriptions for a set of subject-marking TAM prefixes in
Eleme do not adequately characterise the distribution and use of these forms,
which is conditioned by the complex interaction of person and number features,
Aktionsart, epistemic modality and information structure. In response to the
challenges raised by these data, I argue that when multiple analytical perspectives
are required to understand the function of a grammatical form, fine-grained
quantitative analyses with description give a complex but useful basis on which to
compare languages
Associated W+/- H-/+ production at e+ e- and hadron colliders
We show some results in the minimal supersymmetric Standard Model (MSSM) and
the two Higgs doublet model (THDM) for W+/- H-/+ production cross sections at
e+ e- and hadron colliders. We demonstrate that the predictions for the cross
sections in the two models can be vastly different. Observing these processes,
once the existence of a charged Higgs is established, might shed some light on
the underlying model for an extended Higgs sector.Comment: 8 pages, 5 figures, Contribution to SUSY 02, Hamburg, Germany, June
200
Job Promotion Tournaments and Imperfect Recall
In this paper, a promotion tournament is considered, where, at the beginning of the tournament, it is unknown how long the tournament lasts. Further, the promotion decision is based on the assessments of a supervisor with imperfect recall. In line with psychological research, the supervisor is assumed to either value early or recent impressions more strongly. It is shown that effort may increase or decrease, as the probability of promotion in a certain period gets higher. The single effects determining the sign of the effort change oftentimes depend on how the supervisor processes information
- …