The feature selection for software birthmark has a direct bearing on software recognition rate.We apply constrained clustering to analyze software features.The within-and between-class distances of features are measured based on mutual information.Information gain and penalty functions are constructed using homogeneous and heterogeneous software features respectively.Then the software birthmark features with high class distinction and minimum redundancy are selected.It is shown the algorithm provide an effective approach for software birthmark feature selection and optimization by analysis and comparison.