A method for performing program analysis includes receiving programs of a first platform that have been assigned a first label and programs of the first platform that have been assigned a second label. Each of the programs of the first platform is expressed as platform-independent logical features. A discriminatory model or classifier is trained, using machine learning, based on the expression of the programs of the first platform as platform-independent logical features, to distinguish between programs of the first label and programs of the second label. An unlabeled program of a second platform is received and is expressed as platform-independent logical features. The trained discriminatory model or classifier is used to determine if the unlabeled program warrants the first label or the second label, based on the expression of the unlabeled program as platform-independent logical features.
Please help me write a proper abstract based on the patent claims. CLAIM: 1. A method for performing program analysis, comprising: receiving a plurality of programs of a first platform that have been assigned a first label; receiving a plurality of programs of the first platform that have been assigned a. second label; expressing each of the plurality of programs of the first platform that have been assigned the first label as a first set of platform-independent logical features; expressing each of the plurality of programs of the first platform that have been assigned the second label as a second set of platform-independent logical features; training a discriminatory model or classifier, using machine learning, based on the expression of the programs of the first platform that have been assigned the first and second label as the first and second sets of platform-independent logical features, to distinguish between programs of the first label and programs of the second label; receiving an unlabeled program of a second platform, different from the first platform; expressing the unlabeled program as a third set of platform-independent logical features; and using the trained discriminatory model or classifier to determine if the unlabeled program warrants the first label or the second label, based on the expression of the unlabeled program as the third set of platform-independent logical features. 2. The method of claim 1, wherein a first logical extractor is used to express each of the plurality of programs of the first platform that have been assigned the first label as the first set of platform-independent logical features and to express each of the plurality of programs of the first platform that have been assigned the second label as the second set of platform-independent logical features, and a second logical extractor is used to express the unlabeled program as the third set of platform-independent logical features, wherein the first logical extractor is configured for the first platform, and wherein the second logical extractor is configured for the second platform. 3. The method of claim 1, further comprising: receiving a plurality of programs of the second platform that have been assigned the first label; receiving a plurality of programs of the second platform that have been assigned the second label; expressing each of the plurality of programs of the second platform that have been assigned the first label as a fourth set of platform-independent logical features; and expressing each of the plurality of programs of the second platform that have been assigned the second label as a fifth set of platform-independent logical features, wherein the training of the discriminatory model or classifier further includes using machine learning, based on the expression of the programs of the second platform that have been assigned the first and second label as the fourth and fifth sets of platform-independent logical features, to distinguish between programs of the first label and programs of the second label. 4. The method of claim 1, wherein expressing each of the plurality of programs of the first platform that have been assigned the first label or the second label as the first or second set of platform-independent logical features is performed using a table that correlates a plurality of features of the first platform with a plurality of platform-independent logical features. 5. The method of claim 1, wherein the availability of programs of the second platform that have been assigned the first or second label are limited. 6. The method of claim 1, wherein the first label represents malicious programming and the second label represents benign programing. 7. The method of claim 1, wherein the first label represents non-conforming programming and the second label represents conforming programing, with respect to a set of standards. 8. The method of claim 1, wherein the first platform is ANDROID and the second platform is iOS. 9. The method of claim 1, additionally comprising: receiving a plurality of programs of a third platform, different from the first and second platforms, that have been assigned the first label; receiving a plurality of programs of the third platform that have been assigned the second label; expressing each of the plurality of programs of the third platform that have been assigned the first label as a sixth set of platform-independent logical features; and expressing each of the plurality of programs of the third platform that have been assigned the second label as a seventh set of platform-independent logical features, wherein the training of the discriminatory model or classifier further includes using machine learning, based on the expression of the programs of the third platform that have been assigned the first and second label as the sixth and seventh sets of platform independent logical features, to distinguish between programs of the first label and programs of the second label. 10. The method of claim 1, further including, receiving a plurality of programs of the first platform that have been assigned a third label; and expressing each of the plurality of programs of the first platform that have been assigned the third label as an eighth set of platform-independent logical features, wherein the training of the discriminatory model or classifier further includes, using machine learning, based on the expression of the programs of the first platform that have been assigned the first, second, and third labels, as the first, second, and eighth sets of platform independent logical features, to distinguish between programs of the first, second, and third labels. 11. The method of claim 9, wherein the third platform is MACINTOSH. 12. A method for generating a software tool for analyzing a program, comprising: receiving a plurality of programs of a first platform that have been assigned a first label; receiving a plurality of programs of the first platform that have been assigned a second label; expressing each of the plurality of programs of the first platform that have been assigned the first label as a first set of platform-independent logical features; expressing each of the plurality of programs of the first platform that have been assigned the second label as a second set of platform-independent logical features; training a discriminatory model or classifier, using machine learning, based on the expression of the programs of the first platform that have been assigned the first and second label as the first and second sets of platform-independent logical features, to distinguish between programs of the first label and programs of the second label; and embedding the trained discriminatory model or classifier into a software tool, the software tool configured to: receive an unlabeled program of a second platform, different from the first platform; express the unlabeled program as a third set of platform-independent logical features; and use the trained discriminatory model or classifier to determine if the unlabeled program warrants the first label or the second label, based on the expression of the unlabeled program as the third set of platform-independent logical features. 13. The method of claim 12, wherein a first logical extractor is used to express each of the plurality of programs of the first platform that have been assigned the first label as the first set of platform-independent logical features and to express each of the plurality of programs of the first platform that have been assigned the second label as the second set of platform-independent logical features, and a second logical extractor is used to express the unlabeled program as the third set of platform-independent logical features, wherein the first logical extractor is configured for the first platform, and wherein the second logical extractor is configured for the second platform. 14. The method of claim 12, further comprising: receiving a plurality of programs of the second platform that have been assigned the first label; receiving a plurality of programs of the second platform that have been assigned the second label; expressing each of the plurality of programs of the second platform that have been assigned the first label as a fourth set of platform-independent logical features; and expressing each of the plurality of programs of the second platform that have been assigned the second label as a fifth set of platform-independent logical features, wherein the training of the discriminatory model or classifier further includes using machine learning, based on the expression of the programs of the second platform that have been assigned the first and second label as the fourth and fifth sets of platform-independent logical features, to distinguish between programs of the first label and programs of the second label. 15. The method of claim 12, additionally comprising: receiving a plurality of programs of a third platform, different from the first and second platforms, that have been assigned the first label; receiving a plurality of programs of the third platform that have been assigned the second label; expressing each of the plurality of programs of the third platform that have been assigned the first label as a sixth set of platform-independent logical features; and expressing each of the plurality of programs of the third platform that have been assigned the second label as a seventh set of platform-independent logical features, wherein the training of the discriminatory model or classifier further includes using machine learning, based on the expression of the programs of the third platform that have been assigned the first and second label as the sixth and seventh sets of platform-independent logical features, to distinguish between programs of the first label and programs of the second label. 16. The method of claim 12, further including, receiving a plurality of programs of the first platform that have been assigned a third label; and expressing each of the plurality of programs of the first platform that have been assigned the third label as an eighth set of platform independent logical features, wherein the training of the discriminatory model or classifier further includes, using machine learning, based on the expression of the programs of the first platform that have been assigned the first, second, and third labels, as the first, second, and eighth sets of platform independent logical features, to distinguish between programs of the first, second, and third labels. 17-25. (canceled)