Related papers: A practical approach to testing random number gene…
Large language models (LLMs) are widely used in software development. However, the code generated by LLMs often contains vulnerabilities. Several secure code generation methods have been proposed to address this issue, but their current…
We shall review the cellular automaton(CA)-based pseudorandom-number generators (PRNGs), and show that one of these PRNGs can generate high-quality random numbers which can pass all of the statistical tests provided by the National…
Random testing (RT) is a black-box software testing technique that tests programs by generating random test inputs. It is a widely used technique for software quality assurance, but there has been much debate by practitioners concerning its…
Implementing automated unit tests is an important but time-consuming activity in software development. To assist developers in this task, many techniques for automating unit test generation have been developed. However, despite this effort,…
An introductory formal languages course exposes advanced undergraduate and early graduate students to automata theory, grammars, constructive proofs, computability, and decidability. Programming students find these topics to be challenging…
Testing probabilistic programs is non-trivial due to their stochastic nature. Given an input, the program may produce different outcomes depending on the underlying stochastic choices in the program. This means testing the expected outcomes…
We introduce a computational problem of distinguishing between the output of an ideal coarse-grained boson sampler and the output of a true random number generator, as a resource for cryptographic schemes, which are secure against…
This work studies the problem of separate random number generation from correlated general sources with side information at the tester under the criterion of statistical distance. Tight one-shot lower and upper performance bounds are…
Boolean formulae compactly encode huge, constrained search spaces. Thus, variability-intensive systems are often encoded with Boolean formulae. The search space of a variability-intensive system is usually too large to explore without…
Large Language Models (LLMs) are one of the most promising developments in the field of artificial intelligence, and the software engineering community has readily noticed their potential role in the software development life-cycle.…
Unit testing verifies the presence of faults in individual software components. Previous research has been targeting the automatic generation of unit tests through the adoption of random or search-based algorithms. Despite their…
For data ciphering a key is usually needed as a base, so it is indispensable to have one that is strong and trustworthy, so as to keep others from accessing the ciphered data. This requires a pseudo-random number generator that would…
Security vulnerabilities present in a code that has been written in diverse programming languages are among the most critical yet complicated aspects of source code to detect. Static analysis tools based on rule-based patterns usually do…
A simple binary model to compute the degree of balancedness in the output sequence of LFSR-combinational generators has been developed. The computational method is based exclusively on the handling of binary strings by means of logic…
There are many areas of scientific endeavour where large, complex datasets are needed for benchmarking. Evolutionary computing provides a means towards creating such sets. As a case study, we consider Conway's Surreal numbers. They have…
Quantum random number generation exploits inherent randomness of quantum mechanical processes and measurements. Real-time generation rate of quantum random numbers is usually limited by electronic bandwidth and data processing rates. Here…
We present an end-to-end and practical randomness amplification and privatisation protocol based on Bell tests. This allows the building of device-independent random number generators which output (near-)perfectly unbiased and private…
The aim of this work is to define and implement an extended C++ language to support the SIMD programming paradigm. The C++ programming language has been extended to express all the potentiality of an abstract SIMD machine consisting of a…
Future extreme-scale computer systems may expose silent data corruption (SDC) to applications, in order to save energy or increase performance. However, resilience research struggles to come up with useful abstract programming models for…
Cloud high quality API (Application Programming Interface) testing is essential for supporting the API economy. Autotest is a random test generator that addresses this need. It reads the API specification and deduces a model used in the…