Computer-assisted organic synthesis software is a type of application software used in organic chemistry in tandem with computational chemistry to help facilitate the tasks of designing, predicting, and producing chemical reactions. CAOS aims to identify a series of chemical reactions which, from a starting compound, can produce a desired molecule. CAOS algorithms typically use two databases: a first one of known chemical reactions and a second one of known starting materials (i.e., typically molecules available commercially). Desirable synthetic plans cost less, have high yield, and avoid using hazardous reactions and intermediates. Typically cast as a planning problem, significant progress has been made in CAOS.