Toward an improved understanding of software change