Edge Cases In Software Engineering