Brink van der Merwe
Stellenbosch University
Network
Latest external collaboration on country level. Dive into details by clicking on the dots.
Publication
Featured researches published by Brink van der Merwe.
IEEE MultiMedia | 2011
Walter Schulze; Brink van der Merwe
By using music written in a certain style as training data, parameters can be calculated for Markov chains and hidden Markov models to capture the musical style of the training data as mathematical models.
ACM Sigsoft Software Engineering Notes | 2014
Heila van der Merwe; Brink van der Merwe; Willem Visser
JPF-Android is a model checking tool for Android applications allowing them to be verified outside of an emulator on Java PathFinder (JPF). The Android applications are executed on a model of the Android software stack and their execution driven by simulating user and system input events. This paper follows from our previous work describing the design decisions and implementation of JPF-Android. Here we discuss the syntax and implementation of the scripting environment which is used to drive the execution of the An- droid application under analysis. It also focuses on a further extension to the tool used to automatically monitor the run- time behavior of Android applications.
Communications in Algebra | 1999
Brink van der Merwe
LetV be a module over a ring R. We define V to be a unique addition module (UAM) if it is not possible to change the addition of V without changing the action of R on V. If R is a domain such that 1 is not the only unit in R and V is a torsion-free i2-module, then we show that V is a UAM if and only if V has rank 1 (or if V={0}). We also classify finitely generated unique addition modules over commutative Artinian rings.
ACM Sigsoft Software Engineering Notes | 2015
Heila van der Merwe; Oksana Tkachuk; Brink van der Merwe; Willem Visser
Android applications are difficult to verify and test since they have many external dependencies. To overcome this problem, environment generation can be used to create a model of the environment to simulate the behavior of these external dependencies. Creating this environment model manually is a tedious process and although there are many techniques available to generate models, the key lies in identifying how these techniques can be applied to a specific domain. In this paper we discuss two static analysis tools OCSEGen [3] and Modgen [1] and how they can be applied to the Android domain to generate models for specific parts of the environment.
international conference on implementation and application of automata | 2016
Nicolaas Weideman; Brink van der Merwe; Martin Berglund; Bruce W. Watson
We apply results from ambiguity of non-deterministic finite automata to the problem of determining the asymptotic worst-case matching time, as a function of the length of the input strings, when attempting to match input strings with a given regular expression, where the matcher being used is a backtracking regular expression matcher.
automata and formal languages | 2014
Martin Berglund; Frank Drewes; Brink van der Merwe
We consider in some detail how regular expression matching happens in Java, as a popular representative of the category of regex-directed matching engines. We extract a slightly idealized algorithm ...
Theoretical Computer Science | 2017
Martin Berglund; Brink van der Merwe
We introduce prioritized transducers to formalize capturing groups in regular expression matching in a way that permits straightforward modelling of and comparison with real-world regular expression matching library behaviors. The broader questions of parsing semantics and performance are discussed, and also the complexity of deciding equivalence of regular expressions with capturing groups.
ACM Sigsoft Software Engineering Notes | 2015
Heila van der Merwe; Oksana Tkachuk; Seal Nel; Brink van der Merwe; Willem Visser
Software applications are developed to be executed in a specific environment. This environment includes external/ native libraries to add functionality to the application and drivers to fire the application execution. For testing and verification, the environment of an application is simplified/abstracted using models or stubs. Empty stubs, returning default values, are simple to generate automatically, but they do not perform well when the application expects specific return values. Symbolic execution is used to find input parameters for drivers and return values for library stubs, but it struggles to detect the values of complex objects. In this work-in-progress paper, we explore an approach to generate drivers and stubs based on values collected during runtime instead of using default values. Entry-points and methods that need to be modeled are instrumented to log their parameters and return values. The instrumented applications are then executed using a driver and instrumented libraries. The values collected during runtime are used to generate driver and stub values on-the-y that improve coverage during verification by enabling the execution of code that previously crashed or was missed. We are implementing this approach to improve the environment model of JPF-Android, our model checking and analysis tool for Android applications.
developments in language theory | 2013
Martin Berglund; Henrik Björklund; Frank Drewes; Brink van der Merwe; Bruce W. Watson
Most software packages with regular expression matching engines offer operators that extend the classical regular expressions, such as counting, intersection, complementation, and interleaving. Some of the most popular engines, for example those of Java and Perl, also provide operators that are intended to control the nondeterminism inherent in regular expressions. We formalize this notion in the form of the cut and iterated cut operators. They do not extend the class of languages that can be defined beyond the regular, but they allow for exponentially more succinct representation of some languages. Membership testing remains polynomial, but emptiness testing becomes PSPACE-hard.
Theoretical Computer Science | 2014
Suna Bensch; Frank Drewes; Helmut Jürgensen; Brink van der Merwe
Millstream systems have been proposed as a non-hierarchical method for modelling natural language. Millstream configurations represent and connect multiple structural aspects of sentences. We prese ...