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. A simulation from public publication records: the people listed were not invited and did not agree to review.
? Tutorial for this page

Itay Maman

dblp:88/6985 · DBLP profile ↗
← Back
5ranked-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 · 5Artificial intelligence and machine learning · 1Applied, interdisciplinary, general and emerging computing · 1

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
3 papers
Programming languages and type systems · 62% Software maintenance and evolution · 15% Program analysis · 12%

Topics — the 6 heaviest of 7, each with the papers that count most for it

TopicWeightPapersLastEvidence papers
Programming languages and type systems › type systems › subtyping
structural subtyping
0.112008
Whiteoak: introducing structural typing into java · OOPSLA 2008
Programming languages and type systems › type systems
type soundness
0.112008
Whiteoak: introducing structural typing into java · OOPSLA 2008
Programming languages and type systems
type systems
0.112008
Whiteoak: introducing structural typing into java · OOPSLA 2008
Programming languages and type systems
domain-specific languages
0.112006
JTL: the Java tools language · OOPSLA 2006
Program analysis › source code analysis
source code querying
0.112006
JTL: the Java tools language · OOPSLA 2006
Empirical software engineering
mining software repositories
0.112005
Micro patterns in Java code · OOPSLA 2005

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

transitive closure · 0.1first-order predicate logic · 0.1datalog · 0.1statistical analysis · 0.1
YearPublicationVenuePosition
2010 First International Workshop on Product Line Approaches in Software Engineering (PLEASE 2010)
abstract
PLEASE is a new workshop series that focuses on exploring the present and the future of Software Product Line Engineering (SPLE) techniques. The goal of the workshop is to bring together researchers and practitioners with special interest in SPLE in order to discuss ongoing research and new ideas for advancing the field. The workshop's main theme, Beyond Product Lines, focuses on the adaptation of SPLE to dynamic settings in which neither the goal nor the organizational structure is stable.
Julia Rubin, Goetz Botterweck, Mira Mezini, Itay Maman, Andreas Pleuß
ICSE (2)4
2010 Sans Constraints? Feature Diagrams vs. Feature Models
Joseph Gil, Shiri Kremer-Davidson, Itay Maman
SPLC3
2008 Whiteoak: introducing structural typing into java
abstract
This paper presents WHITEOAK: a JAVA extension that introduces structural type equivalence and subtyping into the language. We argue that structural subtyping addresses common software design problems, and promotes the development of loosely coupled modules without compromising type safety.
Joseph Gil, Itay Maman
OOPSLA2
2006 JTL: the Java tools language
abstract
We present an overview of JTL (the Java Tools Language, pronounced "Gee-tel"), a novel language for querying JAVA [8] programs. JTL was designed to serve the development of source code software tools for JAVA, and as a small language which to aid programming language extensions to JAVA. Applications include definition of pointcuts for aspect-oriented programming, fixing type constraints for generic programming, specification of encapsulation policies, definition of micro-patterns, etc. We argue that the JTL expression of each of these is systematic, concise, intuitive and general.JTL relies on a simply-typed relational database for program representation, rather than an abstract syntax tree. The underlying semantics of the language is restricted to queries formulated in First Order Predicate Logic augmented with transitive closure (FOPL).Special effort was taken to ensure terse, yet readable expression of logical conditions. The JTL pattern public abstract class, for example, matches all abstract classes which are publicly accessible, while class (public clone();) matches all classes in which method clone is public. To this end, JTL relies on a DATALOG-like syntax and semantics, enriched with quantifiers and pattern matching which all but entirely eliminate the need for recursive calls.JTL's query analyzer gives special attention to the fragility of the "closed world assumption" in examining JAVA software, and determines whether a query relies on such an assumption.The performance of the JTL interpreter is comparable to that of JQuery after it generated its database cache, and at least an order of magnitude faster when the cache has to be rebuilt.
Tal Cohen, Joseph Gil, Itay Maman
OOPSLA3
2005 Micro patterns in Java code
abstract
Micro patterns are similar to design patterns, except that micro patterns are stand at a lower, closer to the implementation, level of abstraction. Micro patterns are also unique in that they are mechanically recognizable, since each such pattern can be expressed as a formal condition on the structure of a class.This paper presents a catalog of 27 micro-patterns defined on Java classes and interfaces. The catalog captures a wide spectrum of common programming practices, including a particular and (intentionally restricted) use of inheritance, immutability, data management and wrapping, restricted creation, and emulation of procedural-, modular-, and even functional- programming paradigms with object oriented constructs. Together, the patterns present a set of prototypes after which a large portion of all Java classes and interfaces are modeled. We provide empirical indication that this portion is as high as 75%.A statistical analysis of occurrences of micro patterns in a large software corpus, spanning some 70,000 Java classes drawn from a rich set of application domains, shows, with high confidence level that the use of these patterns is not random. These results indicate consciousness and discernible design decisions, which are sustained in the software evolution. With high confidence level, we can also show that the use of these patterns is tied to the specification, or the purpose, that the software realizes.The traceability, abundance and the statistical significance of micro pattern occurrence raise the hope of using the classification of software into these patterns for a more founded appreciation of its design and code quality.
Joseph Gil, Itay Maman
OOPSLA2