Improving software quality using an ontology-based approach