This paper argues that semantic information encoded in natural language identifiers is a largely neglected re-source for program analysis. First we show that words in Java class names relate to class properties, expressed using the recently developed micro patterns language. We anal-yse a large corpus of Java programs to create a database that links common class name words with micro patterns. Finally we report on prototype tools integrated with the Eclipse development environment. These tools use the database to inform programmers of particular problems or optimization opportunities in their code.
Code understanding and reuse while particularly time consuming can be improved with the adherence to...
Software patterns are used in many applications and domains. They reduce time, effort and cost as th...
Context: Conceptual coupling is a measure of how loosely or closely related two software artifacts a...
Class names represent the concepts implemented in object-oriented source code and are key elements i...
International audienceStudies have shown that more than 50% of software maintenance time is spent re...
Programmer-provided identifier names convey information about the semantics of a program. This infor...
Fundamental nano-patterns are simple, static, binary properties of Java methods, such as ObjectCreat...
Classes are fundamental to object-oriented design and programming. In this article, we take a look a...
A discontinuity exists between modeling and objectoriented programming languages. This discontinuity...
AbstractFundamental nano-patterns are simple, static, binary properties of Java methods, such as Obj...
Identifier names are the principal means of recording and communicating ideas in source code and are...
Abstract—Programming involves representing domain con-cepts by using programming abstractions. In ob...
Descriptive names are a vital part of readable, and hence maintain-able, code. Recent progress on au...
Naming code can seem like a simple task, however finding a good name can be rather challenging. Enti...
Several works in literature have analyzed the link structure of programs in relation with software e...
Code understanding and reuse while particularly time consuming can be improved with the adherence to...
Software patterns are used in many applications and domains. They reduce time, effort and cost as th...
Context: Conceptual coupling is a measure of how loosely or closely related two software artifacts a...
Class names represent the concepts implemented in object-oriented source code and are key elements i...
International audienceStudies have shown that more than 50% of software maintenance time is spent re...
Programmer-provided identifier names convey information about the semantics of a program. This infor...
Fundamental nano-patterns are simple, static, binary properties of Java methods, such as ObjectCreat...
Classes are fundamental to object-oriented design and programming. In this article, we take a look a...
A discontinuity exists between modeling and objectoriented programming languages. This discontinuity...
AbstractFundamental nano-patterns are simple, static, binary properties of Java methods, such as Obj...
Identifier names are the principal means of recording and communicating ideas in source code and are...
Abstract—Programming involves representing domain con-cepts by using programming abstractions. In ob...
Descriptive names are a vital part of readable, and hence maintain-able, code. Recent progress on au...
Naming code can seem like a simple task, however finding a good name can be rather challenging. Enti...
Several works in literature have analyzed the link structure of programs in relation with software e...
Code understanding and reuse while particularly time consuming can be improved with the adherence to...
Software patterns are used in many applications and domains. They reduce time, effort and cost as th...
Context: Conceptual coupling is a measure of how loosely or closely related two software artifacts a...