Rigi-A system for programming-in-the-large
ICSE '88 Proceedings of the 10th international conference on Software engineering
Islands: aliasing protection in object-oriented languages
OOPSLA '91 Conference proceedings on Object-oriented programming systems, languages, and applications
Design patterns: elements of reusable object-oriented software
Design patterns: elements of reusable object-oriented software
Fast static analysis of C++ virtual function calls
Proceedings of the 11th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Ownership types for flexible alias protection
Proceedings of the 13th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
On the criteria to be used in decomposing systems into modules
Communications of the ACM
Matrix browser: visualizing and exploring large networked information spaces
CHI '02 Extended Abstracts on Human Factors in Computing Systems
Parameterized object sensitivity for points-to and side-effect analyses for Java
ISSTA '02 Proceedings of the 2002 ACM SIGSOFT international symposium on Software testing and analysis
ECCOP '98 Proceedings of the 12th European Conference on Object-Oriented Programming
A Generic Worklist Algorithm for Graph Reachability Problems in Program Analysis
CSMR '02 Proceedings of the 6th European Conference on Software Maintenance and Reengineering
A practical flow-sensitive and context-sensitive C and C++ memory leak detector
PLDI '03 Proceedings of the ACM SIGPLAN 2003 conference on Programming language design and implementation
Manipulating and documenting software structures using SHriMP views
ICSM '95 Proceedings of the International Conference on Software Maintenance
Using types to enforce architectural structure
Using types to enforce architectural structure
Safejava: a unified type system for safe programming
Safejava: a unified type system for safe programming
Efficient Relational Calculation for Software Analysis
IEEE Transactions on Software Engineering
Using dependency models to manage software architecture
OOPSLA '05 Companion to the 20th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
A dynamic analysis for revealing object ownership and sharing
Proceedings of the 2006 international workshop on Dynamic systems analysis
Ownership and Immutability Inference for UML-Based Object Access Control
ICSE '07 Proceedings of the 29th international conference on Software Engineering
Companion to the 22nd ACM SIGPLAN conference on Object-oriented programming systems and applications companion
Object ownership profiling: a technique for finding and fixing memory leaks
Proceedings of the twenty-second IEEE/ACM international conference on Automated software engineering
Static extraction of sound hierarchical runtime object graphs
Proceedings of the 4th international workshop on Types in language design and implementation
Hi-index | 0.00 |
Sharing mutable data (via aliasing) is a powerful programming technique. To facilitate sharing, object-oriented programming languages permit the programmer to selectively break encapsulation boundaries. However, sharing data makes programs harder to understand and reason about, because, unlike encapsulated data, shared data cannot be reasoned about in a modular fashion. This paper presents an analysis and a visualizer to help the programmer understand and reason about shared data.