Network


Latest external collaboration on country level. Dive into details by clicking on the dots.

Hotspot


Dive into the research topics where Olha Shkaravska is active.

Publication


Featured researches published by Olha Shkaravska.


Logical Methods in Computer Science | 2009

Polynomial Size Analysis of First-Order Shapely Functions

Olha Shkaravska; Marko C. J. D. van Eekelen; Ron van Kesteren

We present a size-aware type system for first-order shapely functionndefinitions. Here, a function definition is called shapely when the size of thenresult is determined exactly by a polynomial in the sizes of the arguments.nExamples of shapely function definitions may be implementations of matrixnmultiplication and the Cartesian product of two lists. The type system isnproved to be sound w.r.t. the operational semantics of the language. The typenchecking problem is shown to be undecidable in general. We define a naturalnsyntactic restriction such that the type checking becomes decidable, evennthough size polynomials are not necessarily linear or monotonic. Furthermore,nwe have shown that the type-inference problem is at least semi-decidable (undernthis restriction). We have implemented a procedure that combines run-timentesting and type-checking to automatically obtain size dependencies. Itnterminates on total typable function definitions.


international conference on typed lambda calculi and applications | 2007

Polynomial size analysis of first-order functions

Olha Shkaravska; Ron van Kesteren; Marko C. J. D. van Eekelen

We present a size-aware type system for first-order shapely function definitions. Here, a function definition is called shapely when the size of the result is determined exactly by a polynomial in the sizes of the arguments. Examples of shapely function definitions may be matrix multiplication and the Cartesian product of two lists. n nThe type checking problem for the type system is shown to be undecidable in general. We define a natural syntactic restriction such that the type checking becomes decidable, even though size polynomials are not necessarily linear or monotonic. Furthermore, a method that infers polynomial size dependencies for a non-trivial class of function definitions is suggested.


principles and practice of programming in java | 2010

Test-based inference of polynomial loop-bound functions

Olha Shkaravska; Rody Kersten; Marko C. J. D. van Eekelen

This paper presents an interpolation-based method of inferring arbitrary degree loop-bound functions for Java programs. Given a loop, by its loop-bound function we mean a function with the numeric program variables as its parameters, that is used to bound the number of loop-iterations. Using our analysis, loop-bound functions that are polynomials with natural, rational or real coefficients can be found.n Analysis of loop bounds is important in several different areas, including worst-case execution time (WCET) and heap consumption analysis, optimising compilers and termination-analysis. While several other methods exist to infer numerical loop bounds, we know of no other research on the inference of non-linear loop-bound functions. Additionally, the inferred bounds are provable using external tools, e.g. KeY.n To infer a loop-bound function for a given loop it is instrumented with a counter and executed on a well-chosen set of values of the numerical program variables. By well-chosen we mean that using these test values and the corresponding values of the counter, one can construct a unique interpolating polynomial. The uniqueness and the existence of the interpolating polynomial is guaranteed if the input values are in the so-called NCA-configuration, known from multivariate-polynomial interpolation theory. The constructed interpolating polynomial presumably bounds the dependency of the number of loop iterations on arbitrary values of the program variables. This hypothesis is verified by a third-party proof assistant.n A prototype tool has been developed which implements this method. This prototype can infer piecewise polynomial loop-bound functions for a large class of loops in Java programs. Applicability of the prototype has been tested on a series of safety-critical case studies. For most of the loops in the case studies, loop-bound functions could be inferred (and verified using a proof assistant).


Concurrency and Computation: Practice and Experience | 2014

ResAna: a resource analysis toolset for real-time JAVA

Rody Kersten; Bernard van Gastel; Olha Shkaravska; Manuel Montenegro; Marko C. J. D. van Eekelen

For real‐time and embedded systems, limiting the consumption of time and memory resources is often an important part of the requirements. Being able to predict bounds on the consumption of such resources during the development process of the code can be of great value. In this paper, we focus mainly on memory‐related bounds. Recent research results have advanced the state of the art of resource consumption analysis. In this paper, we present a toolset that makes it possible to apply these research results in practice for (real‐time) systems enabling JAVA developers to analyse symbolic loop bounds, symbolic bounds on heap size and both symbolic and numeric bounds on stack size. We describe which theoretical additions were needed in order to achieve this. We give an overview of the capabilities of the RESANA (Radboud University Nijmegen, The Netherlands) toolset that is the result of this effort. The toolset can not only perform generally applicable analyses, but it also contains a part of the analysis that is dedicated to the developers (real‐time) virtual machine, such that the results apply directly to the actual development environment that is used in practice. Copyright


implementation and application of functional languages | 2008

Collected size semantics for functional programs over lists

Olha Shkaravska; Marko C. J. D. van Eekelen; Alejandro Tamalet

This work introduces collected size semantics of strict functional programs over lists. The collected size semantics of a function definition is a multivalued size function that collects the dependencies between every possible output size and the corresponding input sizes. Such functions annotate standard types and are defined by conditional rewriting rules generated during type inference. n nWe focus on the connection between the rewriting rules and lower and upper bounds on the multivalued size functions, when the bounds are given by piecewise polynomials. We show how, given a set of conditional rewriting rules, one can infer bounds that define an indexed family of polynomials that approximates the multivalued size function. n nUsing collected size semantics we are able to infer nonmonotonic and non-linear lower and upper polynomial bounds for many functional programs. As a feasibility study, we use the procedure to infer lower and upper polynomial size-bounds on typical functions of a list library.


java technologies for real-time and embedded systems | 2012

Making resource analysis practical for real-time Java

Rody Kersten; Olha Shkaravska; Bernard van Gastel; Manuel Montenegro; Marko C. J. D. van Eekelen

For real-time and embedded systems limiting the consumption of time and memory resources is often an important part of the requirements. Being able to predict bounds on the consumption of these resources during the development process of the code can be of great value.n Recent research results have advanced the state of the art of resource consumption analysis. In this paper we present a tool that makes it possible to apply these research results in practice for real-time systems enabling Java developers to analyse loop bounds, bounds on heap size and bounds on stack size. We describe which theoretical additions were needed in order to achieve this.n We give an overview of the capabilities of the tool ResAna that is the result of this effort. The tool can not only perform generally applicable analyses, but it also contains a part of the analysis which is dedicated to the developers (real-time) virtual machine, such that the results apply directly to the actual development environment that is used in practice.


foundational and practical aspects of resource analysis | 2011

Interpolation-Based height analysis for improving a recurrence solver

Manuel Montenegro; Olha Shkaravska; Marko C. J. D. van Eekelen; Ricardo Peña

The COSTA system infers resource consumption bounds from Java bytecode using an internal recurrence solver PUBS. This paper suggests an improvement of the COSTA system, such that it can solve a larger number of recurrences. The idea is to replace one of its static analyses, the ranking function analysis, by another kind of analysis, height analysis, in such a way that polynomial bounds of any degree may be inferred instead of just linear expressions. The work can be seen as an application of some polynomial interpolation techniques used by some of the authors in prior analyses. Finding a way to choose proper test nodes is the key to the solution presented in this paper.


workshop on functional and constraint logic programming | 2008

Inferring Static Non-monotone Size-aware Types Through Testing

Ron van Kesteren; Olha Shkaravska; Marko C. J. D. van Eekelen

We propose a size analysis procedure that combines testing and type checking to automatically obtain static output-on-input size dependencies for first-order functions. Attention is restricted to functions for which the size of the result is strictly polynomial, not necessarily monotone, in the sizes of the arguments. To infer a size dependency, the procedure generates hypotheses for increasing degrees of polynomials. For each degree, a polynomial is defined by a finite number of points. Based on interpolation theory, in this paper we establish an upper bound on the number of test runs and a correct choice of test data that guarantees that all polynomials representing sizes of output lists can be found. The resulting hypothesis is then checked using an existing type checking procedure. The procedure is not tied to the current size-aware type checker. The size-aware type of a function will be inferred if it exists and if it is accepted by a size-aware type checker. For terminating functions, our size-aware type inference procedure is complete with respect to type checking: if a function is well-typed, then the inference procedure terminates and produces corresponding size dependencies.


trends in functional programming | 2012

Higher-Order Size Checking without Subtyping

A. Gobi; Olha Shkaravska; Marko C. J. D. van Eekelen

This work focuses on checking size annotations of higher-order polymorphic functional programs supporting nested lists. These annotations are in a lambda-calculus that formalize non-linear and non-monothonic polynomial relations between the sizes of arguments and those of the corresponding results of functions. n nThe presented sizing rules straightforwardly define verification condition generation. Since exact size dependencies are considered i.e. without subtyping, checking of these conditions amounts to checking conditional equations between polynomials.


Journal of Symbolic Computation | 2014

Univariate polynomial solutions of algebraic difference equations

Olha Shkaravska; M.C.J.D. van Eekelen

Contrary to linear difference equations, there is no general theory of difference equations of the form G(P(x-@t1),...,P(x-@ts))+G0(x)=0, with @ti@?K, G(x1,...,xs)@?K[x1,...,xs] of total degree D>=2 and G0(x)@?K[x], where K is a field of characteristic zero. This article concerns the following problem: given @ti, G and G0, find an upper bound on the degree d of a polynomial solution P(x), if it exists. In the presented approach the problem is reduced to constructing a univariate polynomial for which d is a root. The authors formulate a sufficient condition under which such a polynomial exists. Using this condition, they give an effective bound on d, for instance, for all difference equations of the form G(P(x-a),P(x-a-1),P(x-a-2))+G0(x)=0 with quadratic G, and all difference equations of the form G(P(x),P(x-@t))+G0(x)=0 with G having an arbitrary degree.

Collaboration


Dive into the Olha Shkaravska's collaboration.

Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar

Alejandro Tamalet

Radboud University Nijmegen

View shared research outputs
Top Co-Authors

Avatar

Ron van Kesteren

Radboud University Nijmegen

View shared research outputs
Top Co-Authors

Avatar

Ricardo Peña

Complutense University of Madrid

View shared research outputs
Top Co-Authors

Avatar

A. Gobi

Eötvös Loránd University

View shared research outputs
Top Co-Authors

Avatar

R. van Kesteren

Radboud University Nijmegen

View shared research outputs
Top Co-Authors

Avatar

Rody Kersten

Radboud University Nijmegen

View shared research outputs
Top Co-Authors

Avatar

Manuel Montenegro

Complutense University of Madrid

View shared research outputs
Top Co-Authors

Avatar

Bart Jacobs

Radboud University Nijmegen

View shared research outputs
Researchain Logo
Decentralizing Knowledge