An apparatus and process to aid automatic discovery of effective configurations of software modules, for applications such as process control, signal processing, data science, and general software engineering. The invention entails application of an evolutionary algorithm to the manipulation of a directed acyclic graph (DAG) (4) which encodes a set of software module configurations (8), wherein any set of configurations may share common sub-processes by virtue of sharing sub-graphs.
展开▼