Loading...
Please wait, while we are loading the content...
Similar Documents
Dynamic data polyvariance using source-tagged classes
| Content Provider | ACM Digital Library |
|---|---|
| Author | Spoon, S. Alexander Shivers, Olin |
| Abstract | The DDP (Demand-driven/Pruning) analysis algorithm allows us to perform data-flow analyses of programming languages that are dynamically typed and have higher-order control flow, such as Smalltalk or Scheme. Because it is demand-driven and employs search pruning, it scales to large code bases. However, versions of the algorithm previously described [19] do not handle data polymorphism well, conservatively merging separate data flows that go through distinct instantiations of a collection type. In this paper, we describe a new extension to DDP that helps to disentangle these flows, permitting more precise results. The extension is based on source-tagging classes so that each reference to a class in the source code yields a subdivision of the type associated with that class. An initial implementation of this polyvariant analysis has been added to the DDP-based tool Chuck, a part of the integrated Squeak program-development environment; we show examples of the tool in action. |
| Starting Page | 35 |
| Ending Page | 48 |
| Page Count | 14 |
| File Format | |
| DOI | 10.1145/1146841.1146845 |
| Language | English |
| Publisher | Association for Computing Machinery (ACM) |
| Publisher Date | 2005-10-18 |
| Publisher Place | New York |
| Access Restriction | Subscribed |
| Content Type | Text |
| Resource Type | Article |