To me it seems that what this application is, in effect, claiming is the use of 1-context-sensitivity to increase the precision of data-flow analyses for factory methods. This is the most trivial possible application of the general concept of context-sensitive data-flow analysis, which has been known since more than 35 years, as can be seen in this article: https://archive.org/details/twoapproachestoi00shar So how is this a novel invention by the IBM?
- A system comprising: a bottleneck identifier configured to identify a data-flow bottleneck within a first data-flow propagation graph; and
a static analyzer configured to:
apply a first level of abstraction to model a plurality of run-time objects of a computer software application, thereby producing a set of object abstractions, and perform static data-flow analysis of the computer software application using the set of object abstractions, thereby producing the first data-flow propagation graph;
apply a second level of abstraction to model any of the run-time objects having in the set of object abstractions a corresponding object abstraction that is traceable to the data-flow bottleneck, where applying the second level of abstraction decomposes the corresponding object abstraction into a plurality of object abstractions, thereby modifying the set of object abstractions, and perform static data-flow analysis of the computer software application using the modified set of object abstractions.