An empirical study of ensemble techniques for software fault prediction