Export Citations
Save this search
Please login to be able to save your searches and receive alerts for new content matching your search criteria.
- research-articleOctober 2012
Finding reusable data structures
OOPSLA '12: Proceedings of the ACM international conference on Object oriented programming systems languages and applicationsPages 1017–1034https://doi.org/10.1145/2384616.2384690A big source of run-time performance problems in large-scale, object-oriented applications is the frequent creation of data structures (by the same allocation site) whose lifetimes are disjoint, and whose shapes and data content are always the same. ...
Also Published in:
ACM SIGPLAN Notices: Volume 47 Issue 10 - research-articleOctober 2012
Understanding the behavior of database operations under program control
OOPSLA '12: Proceedings of the ACM international conference on Object oriented programming systems languages and applicationsPages 983–996https://doi.org/10.1145/2384616.2384688Applications that combine general program logic with persistent databases (e.g., three-tier applications) often suffer large performance penalties from poor use of the database. We introduce a program analysis technique that combines information flow in ...
Also Published in:
ACM SIGPLAN Notices: Volume 47 Issue 10 - research-articleOctober 2012
Open and efficient type switch for C++
OOPSLA '12: Proceedings of the ACM international conference on Object oriented programming systems languages and applicationsPages 963–982https://doi.org/10.1145/2384616.2384686Selecting operations based on the run-time type of an object is key to many object-oriented and functional programming techniques. We present a technique for implementing open and efficient type switching on hierarchical extensible data types. The ...
Also Published in:
ACM SIGPLAN Notices: Volume 47 Issue 10 - research-articleOctober 2012
Chaperones and impersonators: run-time support for reasonable interposition
OOPSLA '12: Proceedings of the ACM international conference on Object oriented programming systems languages and applicationsPages 943–962https://doi.org/10.1145/2384616.2384685Chaperones and impersonators provide run-time support for interposing on primitive operations such as function calls, array access and update, and structure field access and update. Unlike most interposition support, chaperones and impersonators are ...
Also Published in:
ACM SIGPLAN Notices: Volume 47 Issue 10 - research-articleOctober 2012
Reusing debugging knowledge via trace-based bug search
OOPSLA '12: Proceedings of the ACM international conference on Object oriented programming systems languages and applicationsPages 927–942https://doi.org/10.1145/2384616.2384684Some bugs, among the millions that exist, are similar to each other. One bug-fixing tactic is to search for similar bugs that have been reported and resolved in the past. A fix for a similar bug can help a developer understand a bug, or even directly ...
Also Published in:
ACM SIGPLAN Notices: Volume 47 Issue 10 -
- research-articleOctober 2012
Reim & ReImInfer: checking and inference of reference immutability and method purity
OOPSLA '12: Proceedings of the ACM international conference on Object oriented programming systems languages and applicationsPages 879–896https://doi.org/10.1145/2384616.2384680Reference immutability ensures that a reference is not used to modify the referenced object, and enables the safe sharing of object structures. A pure method does not cause side-effects on the objects that existed in the pre-state of the method ...
Also Published in:
ACM SIGPLAN Notices: Volume 47 Issue 10 - research-articleOctober 2012
k-Calling context profiling
OOPSLA '12: Proceedings of the ACM international conference on Object oriented programming systems languages and applicationsPages 867–878https://doi.org/10.1145/2384616.2384679Calling context trees are one of the most fundamental data structures for representing the interprocedural control flow of a program, providing valuable information for program understanding and optimization. Nodes of a calling context tree associate ...
Also Published in:
ACM SIGPLAN Notices: Volume 47 Issue 10 - research-articleOctober 2012
Exploiting inter-sequence correlations for program behavior prediction
OOPSLA '12: Proceedings of the ACM international conference on Object oriented programming systems languages and applicationsPages 851–866https://doi.org/10.1145/2384616.2384678Prediction of program dynamic behaviors is fundamental to program optimizations, resource management, and architecture reconfigurations. Most existing predictors are based on locality of program behaviors, subject to some inherent limitations. In this ...
Also Published in:
ACM SIGPLAN Notices: Volume 47 Issue 10 - research-articleOctober 2012
Energy types
OOPSLA '12: Proceedings of the ACM international conference on Object oriented programming systems languages and applicationsPages 831–850https://doi.org/10.1145/2384616.2384676This paper presents a novel type system to promote and facilitate energy-aware programming. Energy Types is built upon a key insight into today's energy-efficient systems and applications: despite the popular perception that energy and power can only be ...
Also Published in:
ACM SIGPLAN Notices: Volume 47 Issue 10 - research-articleOctober 2012
Constrained kinds
OOPSLA '12: Proceedings of the ACM international conference on Object oriented programming systems languages and applicationsPages 811–830https://doi.org/10.1145/2384616.2384675Modern object-oriented languages such as X10 require a rich framework for types capable of expressing both value-dependency and genericity, and supporting pluggable, domain-specific extensions. In earlier work, we presented a framework for constrained ...
Also Published in:
ACM SIGPLAN Notices: Volume 47 Issue 10 - research-articleOctober 2012
Gradual typing for first-class classes
OOPSLA '12: Proceedings of the ACM international conference on Object oriented programming systems languages and applicationsPages 793–810https://doi.org/10.1145/2384616.2384674Dynamic type-checking and object-oriented programming often go hand-in-hand; scripting languages such as Python, Ruby, and JavaScript all embrace object-oriented (OO) programming. When scripts written in such languages grow and evolve into large ...
Also Published in:
ACM SIGPLAN Notices: Volume 47 Issue 10 - research-articleOctober 2012
A variability-aware module system
OOPSLA '12: Proceedings of the ACM international conference on Object oriented programming systems languages and applicationsPages 773–792https://doi.org/10.1145/2384616.2384673Module systems enable a divide and conquer strategy to software development. To implement compile-time variability in software product lines, modules can be composed in different combinations. However, this way, variability dictates a dominant ...
Also Published in:
ACM SIGPLAN Notices: Volume 47 Issue 10 - research-articleOctober 2012
Integrating task parallelism with actors
OOPSLA '12: Proceedings of the ACM international conference on Object oriented programming systems languages and applicationsPages 753–772https://doi.org/10.1145/2384616.2384671This paper introduces a unified concurrent programming model combining the previously developed Actor Model (AM) and the task-parallel Async-Finish Model (AFM). With the advent of multi-core computers, there is a renewed interest in programming models ...
Also Published in:
ACM SIGPLAN Notices: Volume 47 Issue 10 - research-articleOctober 2012
Efficiently combining parallel software using fine-grained, language-level, hierarchical resource management policies
OOPSLA '12: Proceedings of the ACM international conference on Object oriented programming systems languages and applicationsPages 717–736https://doi.org/10.1145/2384616.2384669This paper presents Poli-C, a language extension, runtime library, and system daemon enabling fine-grained, language-level, hierarchical resource management policies. Poli-C is suitable for use in applications that compose parallel libraries, frameworks,...
Also Published in:
ACM SIGPLAN Notices: Volume 47 Issue 10 - research-articleOctober 2012
Software data-triggered threads
OOPSLA '12: Proceedings of the ACM international conference on Object oriented programming systems languages and applicationsPages 703–716https://doi.org/10.1145/2384616.2384668The data-triggered threads (DTT) programming and execution model can increase parallelism and eliminate redundant computation. However, the initial proposal requires significant architecture support, which impedes existing applications and architectures ...
Also Published in:
ACM SIGPLAN Notices: Volume 47 Issue 10 - research-articleOctober 2012
An empirical study of the influence of static type systems on the usability of undocumented software
OOPSLA '12: Proceedings of the ACM international conference on Object oriented programming systems languages and applicationsPages 683–702https://doi.org/10.1145/2384616.2384666Abstract Although the study of static and dynamic type systems plays a major role in research, relatively little is known about the impact of type systems on software development. Perhaps one of the more common arguments for static type systems in ...
Also Published in:
ACM SIGPLAN Notices: Volume 47 Issue 10 - research-articleOctober 2012
Speculative analysis of integrated development environment recommendations
OOPSLA '12: Proceedings of the ACM international conference on Object oriented programming systems languages and applicationsPages 669–682https://doi.org/10.1145/2384616.2384665Modern integrated development environments make recommendations and automate common tasks, such as refactorings, auto-completions, and error corrections. However, these tools present little or no information about the consequences of the recommended ...
Also Published in:
ACM SIGPLAN Notices: Volume 47 Issue 10 - research-articleOctober 2012
AutoMan: a platform for integrating human-based and digital computation
OOPSLA '12: Proceedings of the ACM international conference on Object oriented programming systems languages and applicationsPages 639–654https://doi.org/10.1145/2384616.2384663Humans can perform many tasks with ease that remain difficult or impossible for computers. Crowdsourcing platforms like Amazon's Mechanical Turk make it possible to harness human-based computational power at an unprecedented scale. However, their ...
Also Published in:
ACM SIGPLAN Notices: Volume 47 Issue 10 - research-articleOctober 2012
Formal specification of a JavaScript module system
OOPSLA '12: Proceedings of the ACM international conference on Object oriented programming systems languages and applicationsPages 621–638https://doi.org/10.1145/2384616.2384661The JavaScript programming language, originally developed as a simple scripting language, is now the language of choice for web applications. All the top 100 sites on the web use JavaScript and its use outside web pages is rapidly growing. However, ...
Also Published in:
ACM SIGPLAN Notices: Volume 47 Issue 10 - research-articleOctober 2012
Eval begone!: semi-automated removal of eval from javascript programs
OOPSLA '12: Proceedings of the ACM international conference on Object oriented programming systems languages and applicationsPages 607–620https://doi.org/10.1145/2384616.2384660Eval endows JavaScript developers with great power. It allows developers and end-users, by turning text into executable code, to seamlessly extend and customize the behavior of deployed applications as they are running. With great power comes great ...
Also Published in:
ACM SIGPLAN Notices: Volume 47 Issue 10