| C. Flanagan. Effective Static Debugging via Componential Set-Based Analysis. PhD thesis, Rice University, 1997. |
....covariantly in the select component of each method type. The idea of splitting types of updatable values has already been studied in existing type systems. It has first been applied to reference types in the design of the language Forsythe [20] and subsequently been adopted by other authors [8, 18, 22] for similar purposes. However, in the context of object calculi, Split types represent a technical novelty and their use has interesting consequences in terms of both typing power and practical significance. Variant subtyping interacts well with the subtyping rule for recursive types. The ....
C. Flanagan. Effective Static Debugging via Componential Set-Based Analysis. PhD thesis, Rice University, 1997.
....and covariantly in the select component of each method type. The idea of splitting types of updatable values has already been studied in existing type systems. It has first been applied to reference types in the design of the language Forsythe [19] and subsequently been adopted by other authors [7, 17, 20] for similar purposes. However, in the context of object calculi, Split types represent a technical novelty and their use has interesting consequences in terms of both typing power and practical significance. 3 . Variant subtyping interacts well with the subtyping rule for recursive types. The ....
C. Flanagan. Effective Static Debugging via Componential Set-Based Analysis. PhD thesis, Rice University, 1997. 3
....rule applies when a write operation is applied on a cell of type ref u, and a value of type is assigned to the cell. By constraint : t, the value flows to the content of the cell. With (Read) and (Write) rules together, any value assigned to a cell flows to the cell s reading result. Flanagan [10] uses a related set of rules for references and was the source of the idea for us. The most important closure rule is (Fun) which performs 8 elimination. The constraint (8 t : t n C) t 1 t 2 indicates a function flowing to a call site, where (8 t : t n C) is the type for the function ....
Cormac Flanagan. Effective Static Debugging via Componential Set-Based Analysis. PhD thesis, Rice University, 1997.
....and covariantly in the select component of each method type. The idea of splitting types of updatable values has already been studied in existing type systems. It has first been applied to reference types in the design of the language Forsythe [19] and subsequently been adopted by other authors [7, 17, 20] for similar purposes. However, in the context of object calculi, Split types represent a technical novelty and their use has interesting consequences in terms of both typing power and practical significance. m Variant subtyping interacts well with the subtyping rule for recursive types. The ....
C. Flanagan. Effective Static Debugging via Componential Set-Based Analysis. PhD thesis, Rice University, 1997.
....and covariantly in the select component of each method type. The idea of splitting types of updatable values has already been studied in existing type systems. It has first been applied to reference types in the design of the language Forsythe [19] and subsequently been adopted by other authors [7, 17, 20] for similar purposes. However, in the context of object calculi, Split types represent a technical novelty and their use has interesting consequences in terms of both typing power and practical significance. Variant subtyping interacts well with the subtyping rule for recursive types. The ....
C. Flanagan. Effective Static Debugging via Componential Set-Based Analysis. PhD thesis, Rice University, 1997.
....and defined identifiers. 2.3 MrSpidey: Towards DrScheme2 For the second generation of DrScheme, we intend to develop smart tools whose purpose it is to help the programmer validate weak invariants of the program. A first extension in this direction is MrSpidey, a static debugger and soft typer[7]. It subsumes the syntax checker, but is computationally far more expensive. MrSpidey inspects a program for potential safety violations. That is, it attempts to prove that the arguments of all program operations belong to appropriate sets. If MrSpidey cannot establish this legality condition ....
....respond by displaying the annotated version. In particular, the display contains an arrow that crosses the window boundary and shows how values flow across boundaries: see bottom of figure 3. For more information on the multi module analysis, the reader may wish to consult Flanagan s dissertation [7]. 3 A Scheme for Large Systems The development of DrScheme in Scheme has produced valuable insight into Scheme s capabilities for building large systems. Not surprisingly, Scheme s core language has served its role well as a tool in which programmers can quickly explore ideas and create ....
[Article contains additional citation context not shown here]
Flanagan, C. Effective Static Debugging via Componential Set-Based Analysis. PhD thesis, Rice University, 1997.
....O is quadratic. Note that simplification eliminates only extended forms; if further simplification could achieve minimization, then the output of this example may be made only linear. However, that would be a different analysis problem. In particular, minimization alone takes exponential time [13]. Language features affecting complexity. Again consider simplification after initialization and consider that a is a small constant. In the application, selector forms are constructed only from data construction in programs, and constructor forms are constructed only for selectors and tester; ....
C. Flanagan. Effective Static Debugging via Componential Set-Based Program Analysis. PhD thesis, Department of Computer Science, Rice University, Houston, Texas, May 1997.
....bound and defined identifiers. 2.3 Towards DrScheme II For the second generation of DrScheme, we intend to develop smart tools whose purpose it is to help the programmer validate weak invariants of the program. A first extension in this direction is MrSpidey, a static debugger and soft typer[7]. It subsumes the syntax checker, but is computationally far more expensive. MrSpidey analyzes the given program for potential safety violations. That is, the tool attempts to prove the legality of the arguments of primitive operations. If it cannot establish that all possible arguments to a ....
....tool like MrSpidey can reveal bugs that hundreds of users have not been able to find, an appropriate programming environment requires much more computational resources than typical workstations provide. For more information on this experiment (and others) we refer the reader to Flanagan s thesis [7]. We expect that further experiments of this kind will yield additional insight into the requirements for smart tools and the software engineering process. 5 Conclusion The construction of DrScheme overcomes the pedagogic problems of Scheme with a strong integration of the editing and evaluation ....
Flanagan, C. Effective Static Debugging via Componential Set-Based Analysis. PhD thesis, Rice University, 1997.
....cmp ranges over the six operators , and , and expr is either an integral field declared earlier in the same class or an interesting constant. Interesting constants include the numbers 1, 0, 1, and also constant dimensions used in array allocation expressions (e.g. new int[4]) For each field f of an array type, we also guess a number of inequalities regarding f.length. Although some of these inequalities are more useful than others, we include all of them for completeness. Some of these guessed invariants are mutually inconsistent. For example, if a class declares ....
.... . and the formal parameter is not assigned to by the body ) Second, the suggested annotations are not always correct. The cascading effects of incorrect annotations limit the effectiveness of the annotation assistant. The second annotation assistant uses a whole program set based analysis [4, 9] to identify which variables and fields are never null and inserts corresponding annotations into the program. These annotations are useful in verifying many dereference operations. However, the inferred annotations do not include numeric inequalities (which are necessary for verifying the absence ....
Cormac Flanagan. Effective Static Debugging via Componential Set-Based Analysis. PhD thesis, Rice University, Houston, Texas, May 1997.
....F.3.3 [Logics and Meaning of Programs] Studies of Program Constructs (soft) type structure General Terms: Algorithms, Languages, Performance, Theory Additional Key Words and Phrases: constraint based analysis, program analysis, Scheme, soft typing, static debugging Authors addresses: C. Flanagan, Compaq Systems Research Center, 130 Lytton Avenue, Palo Alto, CA 94301; email: flanagan pa.dec.com; M. Felleisen, Department of Computer Science, Rice University, 6100 South Main, Houston, TX 77005 1892; email: matthias cs.rice.edu. Permission to make digital hard copy of all or part of this ....
....with constants and labeled expressions. It is straightforward to extend the analysis to a realistic language with assignments, recursive data structures, objects, and nonlocal control operators along the lines outlined in Appendix A and described in more detail in the first author s dissertation [Flanagan 1997]. 2.1 Syntax Expressions in our language are either variables, values, function applications, labeled expressions, or let expressions: see Figure 1. Values include basic constants and functions. Functions have identifying tags so that MrSpidey can reconstruct a call graph from the results of the ....
[Article contains additional citation context not shown here]
Flanagan, C. 1997. Effective static debugging via componential set-based analysis. Ph.D. thesis, Rice University, Houston, Texas.
No context found.
C. Flanagan. Effective Static Debugging via Componential Set-Based Analysis. PhD thesis, Rice University, 1997.
No context found.
Cormac Flanagan. Effective Static Debugging via Componential Set-Based Analysis. PhD thesis, Rice University, Houston, Texas, May 1997.
Online articles have much greater impact More about CiteSeer.IST Add search form to your site Submit documents Feedback
CiteSeer.IST - Copyright Penn State and NEC