3,011 research outputs found
Dynamic Mutant Subsumption Analysis using LittleDarwin
Many academic studies in the field of software testing rely on mutation
testing to use as their comparison criteria. However, recent studies have shown
that redundant mutants have a significant effect on the accuracy of their
results. One solution to this problem is to use mutant subsumption to detect
redundant mutants. Therefore, in order to facilitate research in this field, a
mutation testing tool that is capable of detecting redundant mutants is needed.
In this paper, we describe how we improved our tool, LittleDarwin, to fulfill
this requirement
Diophantine sets of polynomials over algebraic extensions of the rationals
Let L be a recursive algebraic extension of Q. Assume that, given alpha is an element of L, we can compute the roots in L of its minimal polynomial over Q and we can determine which roots are Aut(L)-conjugate to alpha. We prove that there exists a pair of polynomials that characterizes the Aut(L)-conjugates of alpha, and that these polynomials can be effectively computed. Assume furthermore that L can be embedded in R, or in a finite extension of Q(p) (with p an odd prime). Then we show that subsets of L[X](k) that are recursively enumerable for every recursive presentation of L[X], are diophantine over L[X]
Hilbert's Tenth Problem for rational function fields over p-adic fields
Let K be a p-adic field (a finite extension of some Q_p) and let K(t) be the
field of rational functions over K. We define a kind of quadratic reciprocity
symbol for polynomials over K and apply it to prove isotropy for a certain
class of quadratic forms over K(t). Using this result, we give an existential
definition for the predicate "v_t(x) >= 0" in K(t). This implies undecidability
of diophantine equations over K(t)
Static Application-Level Race Detection in STM Haskell using Contracts
Writing concurrent programs is a hard task, even when using high-level
synchronization primitives such as transactional memories together with a
functional language with well-controlled side-effects such as Haskell, because
the interferences generated by the processes to each other can occur at
different levels and in a very subtle way. The problem occurs when a thread
leaves or exposes the shared data in an inconsistent state with respect to the
application logic or the real meaning of the data. In this paper, we propose to
associate contracts to transactions and we define a program transformation that
makes it possible to extend static contract checking in the context of STM
Haskell. As a result, we are able to check statically that each transaction of
a STM Haskell program handles the shared data in a such way that a given
consistency property, expressed in the form of a user-defined boolean function,
is preserved. This ensures that bad interference will not occur during the
execution of the concurrent program.Comment: In Proceedings PLACES 2013, arXiv:1312.2218. [email protected];
[email protected]
Evaluating Random Mutant Selection at Class-Level in Projects with Non-Adequate Test Suites
Mutation testing is a standard technique to evaluate the quality of a test
suite. Due to its computationally intensive nature, many approaches have been
proposed to make this technique feasible in real case scenarios. Among these
approaches, uniform random mutant selection has been demonstrated to be simple
and promising. However, works on this area analyze mutant samples at project
level mainly on projects with adequate test suites. In this paper, we fill this
lack of empirical validation by analyzing random mutant selection at class
level on projects with non-adequate test suites. First, we show that uniform
random mutant selection underachieves the expected results. Then, we propose a
new approach named weighted random mutant selection which generates more
representative mutant samples. Finally, we show that representative mutant
samples are larger for projects with high test adequacy.Comment: EASE 2016, Article 11 , 10 page
- …