Network


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

Hotspot


Dive into the research topics where Michael Orlov is active.

Publication


Featured researches published by Michael Orlov.


IEEE Transactions on Evolutionary Computation | 2011

Flight of the FINCH Through the Java Wilderness

Michael Orlov; Moshe Sipper

We describe Fertile Darwinian Bytecode Harvester (FINCH), a methodology for evolving Java bytecode, enabling the evolution of extant, unrestricted Java programs, or programs in other languages that compile to Java bytecode. Our approach is based upon the notion of compatible crossover, which produces correct programs by performing operand stack-based, local variables-based, and control flow-based compatibility checks on source and destination bytecode sections. This is in contrast to existing work that uses restricted subsets of the Java bytecode instruction set as a representation language for individuals in genetic programming. We demonstrate FINCHs unqualified success at solving a host of problems, including simple and complex regression, trail navigation, image classification, array sum, and tic-tac-toe. FINCH exploits the richness of the Java virtual machine architecture and type system, ultimately evolving human-readable solutions in the form of Java programs. The ability to evolve Java programs will hopefully lead to a valuable new tool in the software engineers toolkit.


genetic and evolutionary computation conference | 2009

Genetic programming in the wild: evolving unrestricted bytecode

Michael Orlov; Moshe Sipper

We describe a methodology for evolving Java bytecode, enabling the evolution of extant, unrestricted Java programs, or programs in other languages that compile to Java bytecode. Bytecode is evolved directly, without any intermediate genomic representation. Our approach is based upon the notion of compatible crossover, which produces correct programs by performing operand stack-, local variables-, and control flow-based compatibility checks on source and destination bytecode sections. This is in contrast to existing work that uses restricted subsets of the Java bytecode instruction set as a representation language for individuals in genetic programming. Given the huge universe of unrestricted Java bytecode, as is programs, our work enables the applications of evolution within this realm. We experimentally validate our methodology by both extensively testing the correctness of compatible crossover on arbitrary bytecode, and by running evolution on a program that exploits the richness of the Java virtual machine architecture and type system.


web information systems engineering | 2002

Discovering associations in XML data

Amnon Meisels; Michael Orlov; Tal Maor

Knowledge inference from semi-structured data can utilize frequent sub structures, in addition to frequency of data items.In fact, the working assumption of the present study is that frequent sub-trees of XML data represent sets of tags (objects) that aremeaningfully associated. A method for extracting frequent sub-trees from XML data is presented. It uses thresholds on frequenciesof paths and on the multiplicity of paths in the data. The frequent sub-trees are extracted and counted in a procedure that has O(n2) complexity. The data content of the extracted sub-trees, in the form of attribute values, is cast in tabular form. This enables a search forassociations in the extracted data. Thus, the complete procedure uses structure and content to extract association rules from semi-structureddata. A large industrial example is used to demonstrate the operation of the proposed method.


Information Processing Letters | 2009

Optimized random number generation in an interval

Michael Orlov

We present a universal optimization for generating a uniformly distributed integer in an interval, based on the underlying uniform distribution. This optimization provides up to 25% run-time improvement, and what is sometimes more important, up to 25% reduction in usage of (pseudo-)random bits. The optimization entails no run-time penalty for all but the most primitive pseudo-random number generators, and can be easily employed by existing software and hardware. For hardware implementations we present additional improvements.


Archive | 2011

Finch: A System for Evolving Java (Bytecode)

Michael Orlov; Moshe Sipper

The established approach in genetic programming (GP) involves the definition of functions and terminals appropriate to the problem at hand, after which evolution of expressions using these definitions takes place. We have recently developed a system, dubbed FINCH (Fertile Darwinian Bytecode Harvester), to evolutionarily improve actual, extant software, which was not intentionally written for the purpose of serving as a GP representation in particular, nor for evolution in general. This is in contrast to existing work that uses restricted subsets of the Java bytecode instruction set as a representation language for individuals in genetic programming. The ability to evolve Java programs will hopefully lead to a valuable new tool in the software engineer’s toolkit.


genetic and evolutionary computation conference | 2017

Evolving software building blocks with FINCH

Michael Orlov

This paper proposes to explore the following question: can software evolution systems like FINCH, that evolve linear representations originating from a higher-level structural language, take advantage of building blocks inherent to that original language?


genetic and evolutionary computation conference | 2018

Towards modular large-scale darwinian software improvement

Michael Orlov

This paper proposes to explore a software engineer-assisted method for evolutionarily improving large-scale software systems. A framework is outlined for selecting and evolving specific components of such systems, while avoiding treating the complete software as a single independent individual in the population, thereby forgoing the high costs of that approach.


genetic and evolutionary computation conference | 2013

A heuristiclab evolutionary algorithm for FINCH

Achiya Elyasaf; Michael Orlov; Moshe Sipper

We present a HeuristicLab plugin for FINCH. FINCH (Fertile Darwinian Bytecode Harvester) is a system designed to evolutionarily improve actual, extant software, which was not intentionally written for the purpose of serving as a GP representation in particular, nor for evolution in general. This is in contrast to existing work that uses restricted subsets of the Java bytecode instruction set as a representation language for individuals in genetic programming. The ability to evolve Java programs will hopefully lead to a valuable new tool in the software engineers toolkit.


symposium on search based software engineering | 2011

Automatic evolution of java-written game heuristics

Michael Orlov; Carmel Bregman; Moshe Sipper

FINCH is a methodology for evolving Java bytecode, enabling the evolution of extant, unrestricted Java programs, or programs in other languages that compile to Java bytecode. The established approach in genetic programming (GP) involves the definition of functions and terminals appropriate to the problem at hand, after which evolution of expressions using these definitions takes place. FINCH evolutionarily improves actual, extant software, which was not intentionally written for the purpose of serving as a GP representation in particular, nor for evolution in general. In this work we show how several game heuristics that are taken as real-world Java programs are effortlessly and automatically improved by FINCH.


Archive | 2008

Evolutionary Software Improvement for Instruction Set Meta-evolution

Michael Orlov; Moshe Sipper

Collaboration


Dive into the Michael Orlov's collaboration.

Top Co-Authors

Avatar

Moshe Sipper

Ben-Gurion University of the Negev

View shared research outputs
Top Co-Authors

Avatar

Achiya Elyasaf

Ben-Gurion University of the Negev

View shared research outputs
Top Co-Authors

Avatar

Ami Hauptman

Ben-Gurion University of the Negev

View shared research outputs
Top Co-Authors

Avatar

Amnon Meisels

Ben-Gurion University of the Negev

View shared research outputs
Top Co-Authors

Avatar

Carmel Bregman

Ben-Gurion University of the Negev

View shared research outputs
Top Co-Authors

Avatar

Tal Maor

Ben-Gurion University of the Negev

View shared research outputs
Researchain Logo
Decentralizing Knowledge