RSSAmplifier

Blog

Home - Raimondas Sasnauskas

Recent content on Home - Raimondas Sasnauskas

sasnauskas.euRSS feed ↗2 posts

Latest posts

Finding Software Bugs Using Symbolic Execution

The idea of dynamic symbolic execution is to execute a piece of software on any input. All possible execution paths are explored simultaneously without specifying concrete values. Consider the following example where the input x is unknown, i.e., symbolic: if (x < 0) { // ... } else if (x > 100) { // ... } else { assert("should not reach this!") } Symbolic execution runs this code on all three…

Solving River Crossing Puzzles With MiniZinc

The objective of river crossing puzzles is to bring items from one river bank to the other in the fewest possible steps. One prominent puzzle is the wolf, goat and cabbage problem. From Wikipedia: &ldquo;Once upon a time a farmer went to a market and purchased a wolf, a goat, and a cabbage. On his way home, the farmer came to the bank of a river and rented a boat. But crossing the river by boat,…