Network


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

Hotspot


Dive into the research topics where Aleksandar S. Dimovski is active.

Publication


Featured researches published by Aleksandar S. Dimovski.


static analysis symposium | 2005

Data-abstraction refinement: a game semantic approach

Aleksandar S. Dimovski; Dan R. Ghica; Ranko Lazić

This paper presents a semantic framework for data abstraction and refinement for verifying safety properties of open programs. The presentation is focused on an Algol-like programming language that incorporates data abstraction in its syntax. The fully abstract game semantics of the language is used for model-checking safety properties, and an interaction-sequence-based semantics is used for interpreting potentially spurious counterexamples and computing refined abstractions for the next iteration.


international workshop on model checking software | 2006

A counterexample-guided refinement tool for open procedural programs

Aleksandar S. Dimovski; Dan R. Ghica; Ranko Lazić

We present a model checking tool based on game semantics and CSP for verifying safety properties of software, such as assertion violations or array-out-of-bounds errors. The tool implements a data-abstraction refinement procedure applicable to open programs with infinite integer types. The procedure is guaranteed to terminate for unsafe inputs.


International Journal on Software Tools for Technology Transfer | 2007

Compositional software verification based on game semantics and process algebra

Aleksandar S. Dimovski; Ranko Lazić

We present an approach to software model checking based on game semantics and the CSP process algebra. Open program fragments (i.e. terms-in-context) are compositionally modelled as CSP processes which represent their game semantics. This translation is performed by a prototype compiler. Observational equivalence and regular properties are checked by traces refinement using the FDR tool. We also present theorems for parameterised verification of polymorphic terms and properties. The effectiveness of the approach is evaluated on several examples.


european conference on object-oriented programming | 2015

Variability Abstractions: Trading Precision for Speed in Family-Based Analyses

Aleksandar S. Dimovski; Claus Brabrand; Andrzej Wasowski

Family-based (lifted) data-flow analysis for Software Product Lines (SPLs) is capable of analyzing all valid products (variants) without generating any of them explicitly. It takes as input only the common code base, which encodes all variants of a SPL, and produces analysis results corresponding to all variants. However, the computational cost of the lifted analysis still depends inherently on the number of variants (which is exponential in the number of features, in the worst case). For a large number of features, the lifted analysis may be too costly or even infeasible. In this paper, we introduce variability abstractions defined as Galois connections and use abstract interpretation as a formal method for the calculational-based derivation of approximate (abstracted) lifted analyses of SPL programs, which are sound by construction. Moreover, given an abstraction we define a syntactic transformation that translates any SPL program into an abstracted version of it, such that the analysis of the abstracted SPL coincides with the corresponding abstracted analysis of the original SPL. We implement the transformation in a tool, reconfigurator that works on Object-Oriented Java program families, and evaluate the practicality of this approach on three Java SPL benchmarks.


Science of Computer Programming | 2015

Systematic derivation of correct variability-aware program analyses

Jan Midtgaard; Aleksandar S. Dimovski; Claus Brabrand; Andrzej Wąsowski

A recent line of work lifts particular verification and analysis methods to Software Product Lines?(SPL). In an effort to generalize such case-by-case approaches, we develop a systematic methodology for lifting single-program analyses to SPLs using abstract interpretation. Abstract interpretation is a classical framework for deriving static analyses in a compositional, step-by-step manner. We show how to take an analysis expressed as an abstract interpretation and lift each of the abstract interpretation steps to a family of programs (SPL). This includes schemes for lifting domain types, and combinators for lifting analyses and Galois connections. We prove that for analyses developed using our method, the soundness of lifting follows by construction. The resulting variational abstract interpretation is a conceptual framework for understanding, deriving, and validating static analyses for SPLs. Then we show how to derive the corresponding variational dataflow equations for an example static analysis, a constant propagation analysis. We also describe how to approximate variability by applying variability-aware abstractions to SPL analysis. Finally, we discuss how to efficiently implement our method and present some evaluation results.


international conference on telecommunications | 2003

Generating highly nonlinear Boolean functions using a genetic algorithm

Aleksandar S. Dimovski; D.Gligoroski

In this paper a few algorithms are presented which assist with finding Boolean functions with good cryptographic properties, especially with high nonlinearity. First, a basic hill-climbing algorithm is described which improve the nonlinearity of a Boolean function. Then this algorithm is modified to incorporate a genetic algorithm. It is shown that these new search techniques are extremely powerful when compared to traditional random search techniques. Experimental results successfully prove this statement.


Theoretical Computer Science | 2014

Program verification using symbolic game semantics

Aleksandar S. Dimovski

We introduce a new symbolic representation of algorithmic game semantics, and show how it can be applied for efficient verification of open (incomplete) programs. The focus is on an Algol-like programming language which contains the core ingredients of imperative and functional languages, especially on its second-order recursion-free fragment with infinite data types. We revisit the regular-language representation of game semantics of this language fragment. By using symbolic values instead of concrete ones, we generalize the standard notions of regular-language and automata representations of game semantics to those of corresponding symbolic representations. In this way programs with infinite data types, such as integers, can be expressed as finite-state symbolic-automata although the standard automata representation is infinite-state, i.e. the standard regular-language representation has infinite summations. Moreover, in this way significant reductions of the state space of game semantics models are obtained. This enables efficient verification of programs by our prototype tool based on symbolic game models, which is illustrated with several examples.


International Journal on Software Tools for Technology Transfer | 2017

Efficient family-based model checking via variability abstractions

Aleksandar S. Dimovski; Ahmad Salim Al-Sibahi; Claus Brabrand; Andrzej Wąsowski

Many software systems are variational: they can be configured to meet diverse sets of requirements. They can produce a (potentially huge) number of related systems, known as products or variants, by systematically reusing common parts. For variational models (variational systems or families of related systems), specialized family-based model checking algorithms allow efficient verification of multiple variants, simultaneously, in a single run. These algorithms, implemented in a tool


advances in databases and information systems | 2010

Horizontal partitioning by predicate abstraction and its application to data warehouse design

Aleksandar S. Dimovski; Goran Velinov; Dragan Sahpaski


fundamental approaches to software engineering | 2017

Variability-Specific Abstraction Refinement for Family-Based Model Checking

Aleksandar S. Dimovski; Andrzej Wąsowski

\overline{\text {SNIP}}

Collaboration


Dive into the Aleksandar S. Dimovski's collaboration.

Top Co-Authors

Avatar

Claus Brabrand

IT University of Copenhagen

View shared research outputs
Top Co-Authors

Avatar

Andrzej Wąsowski

IT University of Copenhagen

View shared research outputs
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar

Andrzej Wasowski

IT University of Copenhagen

View shared research outputs
Top Co-Authors

Avatar

Dan R. Ghica

University of Birmingham

View shared research outputs
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar

Jan Midtgaard

Technical University of Denmark

View shared research outputs
Top Co-Authors

Avatar

Jean Melo

University of Copenhagen

View shared research outputs
Researchain Logo
Decentralizing Knowledge