Mining subclassing directives to improve framework reuse

@article{Bruch2010MiningSD,
  title={Mining subclassing directives to improve framework reuse},
  author={M. Bruch and M. Mezini and Monperrus Martin},
  journal={2010 7th IEEE Working Conference on Mining Software Repositories (MSR 2010)},
  year={2010},
  pages={141-150}
}
To help developers in using frameworks, good documentation is crucial. However, it is a challenge to create high quality documentation especially of hotspots in white-box frameworks. This paper presents an approach to documentation of object-oriented white-box frameworks which mines from client code four different kinds of documentation items, which we call subclassing directives. A case study on the Eclipse JFace user-interface framework shows that the approach can improve the state of API… Expand
What should developers be aware of? An empirical study on the directives of API documentation
TLDR
This paper presents the design and the results of an empirical study on the directives of API documentation of object-oriented libraries, and proposes and extensively discusses a taxonomy of 23 kinds of API directives. Expand
Recommending Framework Extension Examples
TLDR
A taxonomy of extension patterns to categorize the various ways an extension point has been used in the code examples is proposed and a graph mining approach for extension point management is proposed. Expand
Two Studies of Framework-Usage Templates Extracted from Dynamic Traces
TLDR
The experimental evaluation of FUDA with 14 concepts in five widely used frameworks suggests that the technique is effective in producing templates with relatively few false positives and false negatives for realistic concepts by using two sample applications, and the use of templates reduced the concept-implementation time compared to when documentation was used. Expand
Context-Sensitive Code Completion
TLDR
This research aims to improve the current state of code completion systems in discovering APIs and proposed techniques have the potential to help developers to learn different aspects of APIs, thus ease software development, and improve the productivity of developers. Expand
FrameFix: Automatically Repairing Statically-Detected Directive Violations in Framework Applications
TLDR
An automated technique for repairing violations of state-based framework requirements, FrameFix, which is based on the principles of how frameworks interact with framework applications: object protocols and inversion of control. Expand
Automated identification and repair of state-based framework directive violations
Professional developers use software frameworks for the benefits of architectural reuse: the process of applying previously proven designs to new applications in a given domain. Unfortunately, forExpand
A Systematic Mapping Study on API Documentation Generation Approaches
TLDR
An overview of what kind of tools have been developed, what kinds of documentation they generate, and what sources the documentation approaches require is presented, to present a comprehensive, unbiased overview of the state-of-the-art on tools and approaches for API documentation generation. Expand
Mining Scala Framework Extensions for Recommendation Patterns
TLDR
A differentiated replication study of the work by Asaduzzaman et al. on Java frameworks is presented, showing that the approach proposed by the reference work is also able to mine extension patterns for Scala frameworks and that the tool is able to achieve similar Precision, Recall and F-measure compared to FEMIR. Expand
FEMIR: A tool for recommending framework extension examples
TLDR
This paper presents a tool, called FEMIR, that utilizes partial program analysis and graph mining technique to detect, group, and rank framework extension examples, and extends existing code completion infrastructure to inform developers about customization choices, enabling them to browse through extension points of a framework. Expand
Exploring software variance with hypermodelling - an exemplary approach
TLDR
This paper presents reports based on real application data of one project example to reveal multiple facts about the software variance and shows visualizations at different granularity levels that supports the theory that Hypermodelling can be used to explore software variance in an easy way. Expand
...
1
2
3
...

References

SHOWING 1-10 OF 25 REFERENCES
FrUiT: IDE support for framework understanding
TLDR
FrUiT, an Eclipse plug-in that implements the use of data mining techniques to extract reuse patterns from existing framework instantiations is built and a first assessment by mining parts of the Eclipse framework is presented. Expand
Mining framework usage changes from instantiation code
TLDR
This paper proposes to mine framework usage change rules from already ported instantiations, the latter being applications build on top of the framework, or test cases maintained by the framework developers, to find usage changes not only caused by refactorings, but also by conceptual changes within the framework. Expand
Automated Support for Framework-Based Software Evolution
In this paper, we show how elaborate support forframework-based software evolution can be provided basedon explicit documentation of the hot spots of object-orientedapplication frameworks. SuchExpand
Analysis of Overridden Methods to Infer Hot Spots
TLDR
An object-oriented framework represents a design for a family of applications, where variations in the application domain are specified by means of hot spots, limiting the reusability of the framework architecture. Expand
Identifying and addressing problems in object-oriented framework reuse
TLDR
A long-term empirical investigation into object-oriented framework reuse concludes that, although a combination of pattern language and micro-architecture documentation is useful for framework reuse, the forms of these documentation types require further enhancement to become effective. Expand
Reverse engineering framework reuse interfaces
TLDR
The possibility to reverse engineer a reuse interface specification from a framework's and its example applications' source code is discussed and a programming environment is introduced that supports both making and using such specifications. Expand
Maintaining the consistency of class libraries during their evolution
TLDR
In the proposal presented in this paper, programmers are enabled to make metalevel declarations of the internal protocols and dependencies of their classes and subclassing semantics is adjusted such that the maintenance of the base module properties and the protection of the inheritor is ensured during their integration. Expand
SpotWeb: Detecting Framework Hotspots and Coldspots via Mining Open Source Code on the Web
TLDR
This paper proposes a code-search-engine-based approach that detects hotspots in a given framework by mining code examples gathered from open source repositories available on the Web; these hotspots are API classes and methods that are frequently reused. Expand
What Makes APIs Hard to Learn? Answers from Developers
TLDR
The article focuses on the obstacles to learning an API and concludes that as APIs keep growing larger, developers will need to learn a proportionally smaller fraction of the whole. Expand
Hot spot recovery in object-oriented software with inheritance and composition template methods
TLDR
This paper applies SPOOL, the prototype environment for reverse engineering, to the recovery of Hot Spots in C++ software and base the technique for Hot Spot recovery on the design concept of template methods, which is validated based on two industrial systems. Expand
...
1
2
3
...