Improving Quality of Programming and Software through Knowledge Graph Construction and Application