Computation of aliases and support sets
POPL '87 Proceedings of the 14th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
A calculus for assignments in higher-order languages
POPL '87 Proceedings of the 14th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
Integrating functional and imperative programming
LFP '86 Proceedings of the 1986 ACM conference on LISP and functional programming
A practical interprocedural data flow analysis algorithm
Communications of the ACM
Syntactic control of interference
POPL '78 Proceedings of the 5th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
POPL '80 Proceedings of the 7th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
An efficient way to find the side effects of procedure calls and the aliases of variables
POPL '79 Proceedings of the 6th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
Towards a theory of type structure
Programming Symposium, Proceedings Colloque sur la Programmation
Proceedings of an ACM conference on Language design for reliable software
Report on the programming language Euclid
ACM SIGPLAN Notices
&lgr;-V-CS: an extended &lgr;-calculus for scheme
LFP '88 Proceedings of the 1988 ACM conference on LISP and functional programming
Conception, evolution, and application of functional programming languages
ACM Computing Surveys (CSUR)
Type inference in the presence of type abstraction
PLDI '89 Proceedings of the ACM SIGPLAN 1989 Conference on Programming language design and implementation
Reasoning about continuations with control effects
PLDI '89 Proceedings of the ACM SIGPLAN 1989 Conference on Programming language design and implementation
Static dependent types for first class modules
LFP '90 Proceedings of the 1990 ACM conference on LISP and functional programming
How to make destructive updates less destructive
POPL '91 Proceedings of the 18th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Polymorphic type inference and assignment
POPL '91 Proceedings of the 18th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Algebraic reconstruction of types and effects
POPL '91 Proceedings of the 18th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Program transformations for configuring components
PEPM '91 Proceedings of the 1991 ACM SIGPLAN symposium on Partial evaluation and semantics-based program manipulation
Islands: aliasing protection in object-oriented languages
OOPSLA '91 Conference proceedings on Object-oriented programming systems, languages, and applications
ACM SIGPLAN Notices
Polymorphic time systems for estimating program complexity
ACM Letters on Programming Languages and Systems (LOPLAS)
The Geneva convention on the treatment of object aliasing
ACM SIGPLAN OOPS Messenger
LFP '92 Proceedings of the 1992 ACM conference on LISP and functional programming
Dynamic program parallelization
LFP '92 Proceedings of the 1992 ACM conference on LISP and functional programming
ACM Letters on Programming Languages and Systems (LOPLAS)
ISSTA '93 Proceedings of the 1993 ACM SIGSOFT international symposium on Software testing and analysis
Higher-order concurrent programs with finite communication topology (extended abstract)
POPL '94 Proceedings of the 21st ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Implementation of the typed call-by-value λ-calculus using a stack of regions
POPL '94 Proceedings of the 21st ACM SIGPLAN-SIGACT symposium on Principles of programming languages
A general data dependence test for dynamic, pointer-based data structures
PLDI '94 Proceedings of the ACM SIGPLAN 1994 conference on Programming language design and implementation
Static dependent costs for estimating execution time
LFP '94 Proceedings of the 1994 ACM conference on LISP and functional programming
Analyzing stores and references in a parallel symbolic language
LFP '94 Proceedings of the 1994 ACM conference on LISP and functional programming
Isolating side effects in sequential languages
POPL '95 Proceedings of the 22nd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Aspect: detecting bugs with abstract dependences
ACM Transactions on Software Engineering and Methodology (TOSEM)
Semantic models and abstract interpretation techniques for inductive data structures and pointers
PEPM '95 Proceedings of the 1995 ACM SIGPLAN symposium on Partial evaluation and semantics-based program manipulation
FPCA '95 Proceedings of the seventh international conference on Functional programming languages and computer architecture
From region inference to von Neumann machines via region representation inference
POPL '96 Proceedings of the 23rd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Ownership types for flexible alias protection
Proceedings of the 13th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
ACM Transactions on Programming Languages and Systems (TOPLAS)
Type-based analysis of uncaught exceptions
Proceedings of the 26th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Proceedings of the ACM SIGPLAN 1999 conference on Programming language design and implementation
Proceedings of the fourth ACM SIGPLAN international conference on Functional programming
Intererence analysis tools for parallelizing programs with recursive data structures
ICS '89 Proceedings of the 3rd international conference on Supercomputing
Type-based analysis of uncaught exceptions
ACM Transactions on Programming Languages and Systems (TOPLAS)
Type-based race detection for Java
PLDI '00 Proceedings of the ACM SIGPLAN 2000 conference on Programming language design and implementation
Type-based nondeterminism checking in functional logic programs
Proceedings of the 2nd ACM SIGPLAN international conference on Principles and practice of declarative programming
Guava: a dialect of Java without data races
OOPSLA '00 Proceedings of the 15th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Stratified operational semantics for safety and correctness of the region calculus
POPL '01 Proceedings of the 28th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Type-based analysis and applications
PASTE '01 Proceedings of the 2001 ACM SIGPLAN-SIGSOFT workshop on Program analysis for software tools and engineering
Detecting race conditions in large programs
PASTE '01 Proceedings of the 2001 ACM SIGPLAN-SIGSOFT workshop on Program analysis for software tools and engineering
Using types to analyze and optimize object-oriented programs
ACM Transactions on Programming Languages and Systems (TOPLAS)
A parameterized type system for race-free Java programs
OOPSLA '01 Proceedings of the 16th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Flow-sensitive type qualifiers
PLDI '02 Proceedings of the ACM SIGPLAN 2002 Conference on Programming language design and implementation
More dynamic object reclassification: Fickle∥
ACM Transactions on Programming Languages and Systems (TOPLAS)
Automatic extraction of object-oriented component interfaces
ISSTA '02 Proceedings of the 2002 ACM SIGSOFT international symposium on Software testing and analysis
Ownership types for safe programming: preventing data races and deadlocks
OOPSLA '02 Proceedings of the 17th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Ownership, encapsulation and the disjointness of type and effect
OOPSLA '02 Proceedings of the 17th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
The marriage of effects and monads
ACM Transactions on Computational Logic (TOCL)
From control effects to typed continuation passing
POPL '03 Proceedings of the 30th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Ownership types for object encapsulation
POPL '03 Proceedings of the 30th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Type-safe multithreading in cyclone
Proceedings of the 2003 ACM SIGPLAN international workshop on Types in languages design and implementation
Inferring annotated types for inter-procedural register allocation with constructor flattening
Proceedings of the 2003 ACM SIGPLAN international workshop on Types in languages design and implementation
Parallelizing Programs with Recursive Data Structures
IEEE Transactions on Parallel and Distributed Systems
ESOP '99 Proceedings of the 8th European Symposium on Programming Languages and Systems
Aspects of the PGG System: Specialization for Standard Scheme
Partial Evaluation - Practice and Theory, DIKU 1998 International Summer School
Correct System Design, Recent Insight and Advances, (to Hans Langmaack on the occasion of his retirement from his professorship at the University of Kiel)
Fickle: Dynamic Object Re-classification
ECOOP '01 Proceedings of the 15th European Conference on Object-Oriented Programming
Checking and inferring local non-aliasing
PLDI '03 Proceedings of the ACM SIGPLAN 2003 conference on Programming language design and implementation
Ownership types for safe region-based memory management in real-time Java
PLDI '03 Proceedings of the ACM SIGPLAN 2003 conference on Programming language design and implementation
Estimating Uncaught Exceptions in Standard ML Programs from Type-Based Equations
COMPSAC '96 Proceedings of the 20th Conference on Computer Software and Applications
Lazy modular upgrades in persistent object stores
OOPSLA '03 Proceedings of the 18th annual ACM SIGPLAN conference on Object-oriented programing, systems, languages, and applications
Mathematical Structures in Computer Science
Journal of Functional Programming
Monadic encapsulation of effects: a revised approach (extended version)
Journal of Functional Programming
A Retrospective on Region-Based Memory Management
Higher-Order and Symbolic Computation
A practical type system and language for reference immutability
OOPSLA '04 Proceedings of the 19th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
TLDI '05 Proceedings of the 2005 ACM SIGPLAN international workshop on Types in languages design and implementation
Javari: adding reference immutability to Java
OOPSLA '05 Proceedings of the 20th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Frame rules from answer types for code pointers
Conference record of the 33rd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Types for safe locking: Static race detection for Java
ACM Transactions on Programming Languages and Systems (TOPLAS)
Preliminary design of JML: a behavioral interface specification language for java
ACM SIGSOFT Software Engineering Notes
Practical dynamic software updating for C
Proceedings of the 2006 ACM SIGPLAN conference on Programming language design and implementation
Flow-insensitive type qualifiers
ACM Transactions on Programming Languages and Systems (TOPLAS)
Semantics of an effect analysis for exceptions
TLDI '07 Proceedings of the 2007 ACM SIGPLAN international workshop on Types in languages design and implementation
Creol: a type-safe object-oriented model for distributed concurrent systems
Theoretical Computer Science - Components and objects
Enforcing and validating user-defined programming disciplines
PASTE '07 Proceedings of the 7th ACM SIGPLAN-SIGSOFT workshop on Program analysis for software tools and engineering
Types for Access Control in a Calculus of Mobile Resources
Electronic Notes in Theoretical Computer Science (ENTCS)
Interactive, scalable, declarative program analysis: from prototype to implementation
Proceedings of the 9th ACM SIGPLAN international conference on Principles and practice of declarative programming
Relational semantics for effect-based program transformations with dynamic allocation
Proceedings of the 9th ACM SIGPLAN international conference on Principles and practice of declarative programming
Proceedings of the 22nd annual ACM SIGPLAN conference on Object-oriented programming systems and applications
Types for atomicity: Static checking and inference for Java
ACM Transactions on Programming Languages and Systems (TOPLAS)
Masked types for sound object initialization
Proceedings of the 36th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Thread Safety through Partitions and Effect Agreements
Languages and Compilers for Parallel Computing
Mostly-Functional Behavior in Java Programs
VMCAI '09 Proceedings of the 10th International Conference on Verification, Model Checking, and Abstract Interpretation
Journal of Functional Programming
Parameterised notions of computation
Journal of Functional Programming
Flow Policy Awareness for Distributed Mobile Code
CONCUR 2009 Proceedings of the 20th International Conference on Concurrency Theory
A Deadlock-Free Semantics for Shared Memory Concurrency
ICTAC '09 Proceedings of the 6th International Colloquium on Theoretical Aspects of Computing
A type and effect system for deterministic parallel Java
Proceedings of the 24th ACM SIGPLAN conference on Object oriented programming systems languages and applications
On declassification and the non-disclosure policy
Journal of Computer Security - 18th IEEE Computer Security Foundations Symposium (CSF 18)
APLAS '09 Proceedings of the 7th Asian Symposium on Programming Languages and Systems
A Type-theoretic Reconstruction of the Visitor Pattern
Electronic Notes in Theoretical Computer Science (ENTCS)
Bunching for Regions and Locations
Electronic Notes in Theoretical Computer Science (ENTCS)
Effects for cooperable and serializable threads
Proceedings of the 5th ACM SIGPLAN workshop on Types in language design and implementation
A practical escape and effect analysis for building lightweight method summaries
CC'07 Proceedings of the 16th international conference on Compiler construction
Selective tail call elimination
SAS'03 Proceedings of the 10th international conference on Static analysis
Continuation-based partial evaluation without continuations
SAS'03 Proceedings of the 10th international conference on Static analysis
Functional in-place update with layered datatype sharing
TLCA'03 Proceedings of the 6th international conference on Typed lambda calculi and applications
ESOP'08/ETAPS'08 Proceedings of the Theory and practice of software, 17th European conference on Programming languages and systems
TAPIDO: trust and authorization via provenance and integrity in distributed objects
ESOP'08/ETAPS'08 Proceedings of the Theory and practice of software, 17th European conference on Programming languages and systems
Typing termination in a higher-order concurrent imperative language
Information and Computation
Parallel programming must be deterministic by default
HotPar'09 Proceedings of the First USENIX conference on Hot topics in parallelism
Logical types for untyped languages
Proceedings of the 15th ACM SIGPLAN international conference on Functional programming
A time-aware type system for data-race protection and guaranteed initialization
Proceedings of the ACM international conference on Object oriented programming systems languages and applications
Static analysis of multi-staged programs via unstaging translation
Proceedings of the 38th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
AuraConf: a unified approach to authorization and confidentiality
Proceedings of the 7th ACM SIGPLAN workshop on Types in language design and implementation
Verifying pointer and string analyses with region type systems
LPAR'10 Proceedings of the 16th international conference on Logic for programming, artificial intelligence, and reasoning
Types, regions, and effects for safe programming with object-oriented parallel frameworks
Proceedings of the 25th European conference on Object-oriented programming
Monads, zippers and views: virtualizing the monad stack
Proceedings of the 16th ACM SIGPLAN international conference on Functional programming
A kripke logical relation for effect-based program transformations
Proceedings of the 16th ACM SIGPLAN international conference on Functional programming
A theory of substructural types and control
Proceedings of the 2011 ACM international conference on Object oriented programming systems languages and applications
IFL'10 Proceedings of the 22nd international conference on Implementation and application of functional languages
Shared-variable concurrency: a proposal
FSTTCS'06 Proceedings of the 26th international conference on Foundations of Software Technology and Theoretical Computer Science
Field access analysis for enforcing access control policies
ETRICS'06 Proceedings of the 2006 international conference on Emerging Trends in Information and Communication Security
DBPL'05 Proceedings of the 10th international conference on Database Programming Languages
Algebraic foundations for effect-dependent optimisations
POPL '12 Proceedings of the 39th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Types for relaxed memory models
TLDI '12 Proceedings of the 8th ACM SIGPLAN workshop on Types in language design and implementation
Purity and side effect analysis for java programs
VMCAI'05 Proceedings of the 6th international conference on Verification, Model Checking, and Abstract Interpretation
Non-disclosure for distributed mobile code
FSTTCS '05 Proceedings of the 25th international conference on Foundations of Software Technology and Theoretical Computer Science
Non-disclosure for distributed mobile code
Mathematical Structures in Computer Science - Programming Language Interference and Dependence
ICTAC'05 Proceedings of the Second international conference on Theoretical Aspects of Computing
Reading, writing and relations: towards extensional semantics for effect analyses
APLAS'06 Proceedings of the 4th Asian conference on Programming Languages and Systems
ABS: a core language for abstract behavioral specification
FMCO'10 Proceedings of the 9th international conference on Formal Methods for Components and Objects
FP'95 Proceedings of the 1995 international conference on Functional Programming
Parameterised notions of computation
MSFP'06 Proceedings of the 2006 international conference on Mathematically Structured Functional Programming
A type and effect system for determinism in multithreaded programs
ESOP'12 Proceedings of the 21st European conference on Programming Languages and Systems
Typing illegal information flows as program effects
Proceedings of the 7th Workshop on Programming Languages and Analysis for Security
Parallel closures: a new twist on an old idea
HotPar'12 Proceedings of the 4th USENIX conference on Hot Topics in Parallelism
Lightweight polymorphic effects
ECOOP'12 Proceedings of the 26th European conference on Object-Oriented Programming
A polynomial time λ-calculus with multithreading and side effects
Proceedings of the 14th symposium on Principles and practice of declarative programming
Fair cooperative multithreading: typing termination in a higher-order concurrent imperative language
CONCUR'07 Proceedings of the 18th international conference on Concurrency Theory
Security type error diagnosis for higher-order, polymorphic languages
PEPM '13 Proceedings of the ACM SIGPLAN 2013 workshop on Partial evaluation and program manipulation
The sequential semantics of producer effect systems
POPL '13 Proceedings of the 40th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Logical relations for fine-grained concurrency
POPL '13 Proceedings of the 40th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
The ramifications of sharing in data structures
POPL '13 Proceedings of the 40th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
It's alive! continuous feedback in UI programming
Proceedings of the 34th ACM SIGPLAN conference on Programming language design and implementation
Time refinement in a functional synchronous language
Proceedings of the 15th Symposium on Principles and Practice of Declarative Programming
JavaUI: effects for controlling UI object access
ECOOP'13 Proceedings of the 27th European conference on Object-Oriented Programming
Parametric effect monads and semantics of effect systems
Proceedings of the 41st ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages
Research paper: Plagiarism Detection for Haskell with Holmes
Proceedings of the 3rd Computer Science Education Research Conference on Computer Science Education Research
The geneva convention on the treatment of object aliasing
Aliasing in Object-Oriented Programming
Alias control for deterministic parallelism
Aliasing in Object-Oriented Programming
Aliasing in Object-Oriented Programming
Hi-index | 0.00 |
We present a new approach to programming languages for parallel computers that uses an effect system to discover expression scheduling constraints. This effect system is part of a 'kinded' type system with three base kinds: types, which describe the value that an expression may return; effects, which describe the side-effects that an expression may have; and regions, which describe the area of the store in which side-effects may occur. Types, effects and regions are collectively called descriptions.Expressions can be abstracted over any kind of description variable -- this permits type, effect and region polymorphism. Unobservable side-effects can be masked by the effect system; an effect soundness property guarantees that the effects computed statically by the effect system are a conservative approximation of the actual side-effects that a given expression may have.The effect system we describe performs certain kinds of side-effect analysis that were not previously feasible. Experimental data from the programming language FX indicate that an effect system can be used effectively to compile programs for parallel computers.