Demonstration venue · read-only. Every page can be browsed; the buttons that would change it are switched off. Create an account to run TaxoReview on your own data.

Mahmood Ali

dblp:85/1514 · DBLP profile ↗
← Back
4ranked-venue papers
0as first author
0since 2021 · last 2010
—ORCID · none

Domains — the database's venue-derived domains; a paper can count in several

Software engineering, systems software and programming languages · 4

Expertise — from the expertise taxonomy: the topics of the expert's papers under the CCF categories. A weight counts papers with recency: 1 for a paper about the topic, 0.3 when the topic is its context, halved every five years.

Software engineering, system software, and programming languages
4 papers
Programming languages and type systems · 86% Program analysis · 14%
Network and information security
1 paper
Systems and software security · 100%

Topics — the 9 heaviest of 10, each with the papers that count most for it

TopicWeightPapersLastEvidence papers
Programming languages and type systems › type systems › static typing
pluggable type systems
0.222010
Building and using pluggable type systems · SIGSOFT FSE 2010
Practical pluggable types for java · ISSTA 2008
Programming languages and type systems › language design
immutability
0.112010
Ownership and immutability in generic Java · OOPSLA 2010
Programming languages and type systems › type systems
ownership types
0.112010
Ownership and immutability in generic Java · OOPSLA 2010
Program analysis
static analysis
0.112008
Practical pluggable types for java · ISSTA 2008
Programming languages and type systems
type checking
0.112008
Practical pluggable types for java · ISSTA 2008
Programming languages and type systems › type systems › refinement types
type qualifiers
0.112008
Practical pluggable types for java · ISSTA 2008
Programming languages and type systems
type systems
0.112007
Object and reference immutability using java generics · ESEC/SIGSOFT FSE 2007
Program analysis
error detection
0.012008
Practical pluggable types for java · ISSTA 2008
Programming languages and type systems › type systems › polymorphism
generics
0.012007
Object and reference immutability using java generics · ESEC/SIGSOFT FSE 2007

Methods — techniques the papers use, named apart from their topics

static type system · 0.1soundness proof · 0.1featherweight java · 0.1compiler plug-in · 0.1backward-compatible type system extension · 0.1type system formalization · 0.1type soundness proof · 0.1type erasure · 0.1
YearPublicationVenuePosition
2010 Ownership and immutability in generic Java
abstract
The Java language lacks the important notions of ownership (an object owns its representation to prevent unwanted aliasing) and immutability (the division into mutable, immutable, and readonly data and references). Programmers are prone to design errors, such as representation exposure or violation of immutability contracts. This paper presents Ownership Immutability Generic Java (OIGJ), a backward-compatible purely-static language extension supporting ownership and immutability. We formally defined a core calculus for OIGJ, based on Featherweight Java, and proved it sound. We also implemented OIGJ and performed case studies on 33,000 lines of code.
Yoav Zibin, Alex Potanin, Paley Li, Mahmood Ali, Michael D. Ernst
OOPSLA4
2010 Building and using pluggable type systems
abstract
Are you a practitioner who is tired of null pointer exceptions, unintended side effects, SQL injections, concurrency errors, mistaken equality tests, and other run-time errors that appear during testing or in the field? A pluggable type system can guarantee the absence of these errors, and many more.
Michael D. Ernst, Mahmood Ali
SIGSOFT FSE2
2008 Practical pluggable types for java
abstract
This paper introduces the Checker Framework, which supports adding pluggable type systems to the Java language in a backward-compatible way. A type system designer defines type qualifiers and their semantics, and a compiler plug-in enforces the semantics. Programmers can write the type qualifiers in their programs and use the plug-in to detect or prevent errors. The Checker Framework is useful both to programmers who wish to write error-free code, and to type system designers who wish to evaluate and deploy their type systems.
Matthew M. Papi, Mahmood Ali, Telmo Luis Correa Jr., Jeff H. Perkins, Michael D. Ernst
ISSTA2
2007 Object and reference immutability using java generics
abstract
A compiler-checked immutability guarantee provides useful documentation, facilitates reasoning, and enables optimizations. This paper presents Immutability Generic Java (IGJ), a novel language extension that expresses immutability without changing Java's syntax by building upon Java's generics and annotation mechanisms. In IGJ, each class has one additional type parameter that is Immutable, Mutable, or ReadOnly. IGJ guarantees both reference immutability (only mutable references can mutate an object) and object immutability (an immutable reference points to an immutable object). IGJ is the first proposal for enforcing object immutability within Java's syntax and type system, and its reference immutability is more expressive than previous work. IGJ also permits covariant changes of type parameters in a type-safe manner, e.g., a readonly list of integers is a subtype of a readonly list of numbers. IGJ extends Java's type system with a few simple rules. We formalize this type system and prove it sound. Our IGJ compiler works by type-erasure and generates byte-code that can be executed on any JVM without runtime penalty.
Yoav Zibin, Alex Potanin, Mahmood Ali, Shay Artzi, Adam Kiezun, Michael D. Ernst
ESEC/SIGSOFT FSE3