Survey Of Search-based Software Engineering: Techniques And Applications