Describir: A Controlled Experiment on the Impact of Software Structure on Maintainability