Michael Orlov

Michael Orlov
Sami Shamoon College of Engineering | SCE · Department of Software Engineering

Ph.D. in Computer Science

About

19
Publications
9,328
Reads
How we measure 'reads'
A 'read' is counted each time someone views a publication summary (such as the title, abstract, and list of authors), clicks on a figure, or views or downloads the full-text. Learn more
214
Citations

Publications

Publications (19)
Conference Paper
Full-text available
There are organized groups that disseminate similar messages in online forums and social media; they respond to real-time events or as persistent policy, and operate with state-level or organizational funding. Identifying these groups is of vital importance for preventing distribution of sponsored propaganda and misinformation. This paper presents...
Conference Paper
Full-text available
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 t...
Conference Paper
Full-text available
This entrepreneurship pitch submission describes a POC for detecting high-level anomaly events in utility networks such as power grids, water plants, pressurized pipelines, etc.
Conference Paper
Full-text available
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?
Thesis
Full-text available
This thesis presents FINCH (Fertile Darwinian Bytecode Harvester), 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 name of this thesis, “Darwinian Software Engineering”, reflects our optimistic view of how this methodology may a...
Conference Paper
Full-text available
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...
Conference Paper
Full-text available
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 expression...
Article
Full-text available
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-bas...
Chapter
Full-text available
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 softw...
Article
Full-text available
Article history: 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...
Chapter
Full-text available
Glossary Definition of the Subject Introduction Evolutionary Algorithms A Touch of Theory Extensions of the Basic Methodology Lethal Applications Evolutionary Games Future Directions Bibliography
Conference Paper
Full-text available
We describe a methodology for evolving Java bytecode, en- abling the evolution of extant, unrestricted Java programs, or programs in other languages that compile to Java byte- code. Bytecode is evolved directly, without any intermedi- ate genomic representation. Our approach is based upon the notion of compatible crossover, which produces correct p...
Article
Full-text available
The use of Greatest Common Divisor algorithm (GCD) for efficient random-number generation are discussed. The GCD algorithm computes the maximal number that divides its two arguments, in logarithmic number of arithmetic operations. The GCD computation cancels any running time benefit attained by reducing the expected number of calls to next. This co...
Technical Report
Full-text available
This paper describes the details of DODFC implementation and the corresponding experimental results. After clearing some implementation issues, DODFC performs very well against the established algorithms. The implementation and the paper serve as the final project in Constraints Programming 2004/A course by Prof. Amnon Meisels.
Thesis
Full-text available
Two new distributed search algorithms for Distributed CSPs are proposed. In one algorithm, search is performed concurrently on disjoint parts of the global search space, by agents that constitute these parts. Agents form a hierarchy of groups and each group generates consistent partial solutions. Partial solutions are produced concurrently and are...
Technical Report
Full-text available
This paper shows how to implement a set partitions generator, where each iteration has constant space and amortized time complexity. This is achieved by defining a notation for set partitions, from which following and preceding partitions are easily derivable. The method is not novel — the purpose of this paper is to aid programmers in implementing...
Article
Full-text available
A major drawback of evolutionary computation is that only relatively small-scale solutions can be found during the search process—it is currently impossible to evolve a whole chunk of software. We propose a method named evolutionary software improvement, which makes it possible to take some module, or some aspect of an existing software system, and...
Article
Full-text available
A new search algorithm, Descending Requirements Search (DESRS), for Distributed CSPs is proposed. The algorithm is composed of two independent phases. In the first phase, agents form a binary hierarchy of groups. The distributed par- tition algorithm uses a heuristic that prefers to join neighbors that are strongly constrained, into groups. This is...

Network

Cited By