Viewing object-oriented software with metricattitude: An empirical evaluation