ddmin algorithm cs 638 Software Engineering