Experimentation in software engineering
IEEE Transactions on Software Engineering
Design patterns: elements of reusable object-oriented software
Design patterns: elements of reusable object-oriented software
A case study in applying a systematic method for COTS selection
Proceedings of the 18th international conference on Software engineering
A Hierarchical Model for Object-Oriented Design Quality Assessment
IEEE Transactions on Software Engineering
Component Software: Beyond Object-Oriented Programming
Component Software: Beyond Object-Oriented Programming
Rapid Development: Taming Wild Software Schedules
Rapid Development: Taming Wild Software Schedules
The effects of design pattern application on metric scores
Journal of Systems and Software
IEEE Transactions on Software Engineering
Specification, implementation, and deployment of components
Communications of the ACM
Documenting Software Architectures: Views and Beyond
Documenting Software Architectures: Views and Beyond
Challenges of component-based development
Journal of Systems and Software
Case Studies for Method and Tool Evaluation
IEEE Software
IEEE Software
IEEE Software
Integrating Independently-Developed Components in Object-Oriented Languages
ECOOP '93 Proceedings of the 7th European Conference on Object-Oriented Programming
Building an OMT-Editor Using Design Patterns: An Experience Report
TOOLS '98 Proceedings of the Technology of Object-Oriented Languages and Systems
Component Metrics to Measure Component Quality
APSEC '01 Proceedings of the Eighth Asia-Pacific on Software Engineering Conference
A Metrics Suite for Measuring Reusability of Software Components
METRICS '03 Proceedings of the 9th International Symposium on Software Metrics
A new reusability metric for object-oriented software
Software Quality Control
Fingerprinting Design Patterns
WCRE '04 Proceedings of the 11th Working Conference on Reverse Engineering
Conventional and Open Source Software Reuse at Orbotech - An Industrial Experience
SWSTE '05 Proceedings of the IEEE International Conference on Software - Science, Technology & Engineering
A Taxonomy of Software Component Models
EUROMICRO '05 Proceedings of the 31st EUROMICRO Conference on Software Engineering and Advanced Applications
The interpretation and utility of three cohesion metrics for object-oriented design
ACM Transactions on Software Engineering and Methodology (TOSEM)
Component-Based Development Process and Component Lifecycle
ICSEA '06 Proceedings of the International Conference on Software Engineering Advances
A quality framework for developing and evaluating original software components
Information and Software Technology
Evaluation of object-oriented design patterns in game development
Information and Software Technology
Design Pattern Detection Using Similarity Scoring
IEEE Transactions on Software Engineering
Large-Scale Code Reuse in Open Source Software
FLOSS '07 Proceedings of the First International Workshop on Emerging Trends in FLOSS Research and Development
Ranking reusability of software components using coupling metrics
Journal of Systems and Software
Empirical study of the effects of open source adoption on software development economics
Journal of Systems and Software
Building measure-based prediction models for UML class diagram maintainability
Empirical Software Engineering
The influence of organizational structure on software quality: an empirical case study
Proceedings of the 30th international conference on Software engineering
Evaluation of source code copy detection methods on freebsd
Proceedings of the 2008 international working conference on Mining software repositories
Life Cycles for Component-Based Software Development
CITWORKSHOPS '08 Proceedings of the 2008 IEEE 8th International Conference on Computer and Information Technology Workshops
A quantitative approach for evaluating the quality of design patterns
Journal of Systems and Software
Using the Conceptual Cohesion of Classes for Fault Prediction in Object-Oriented Systems
IEEE Transactions on Software Engineering
Facilitating software extension with design patterns and Aspect-Oriented Programming
Journal of Systems and Software
Using Quality Models in Software Package Selection
IEEE Software
Multiple-parameter coupling metrics for layered component-based software
Software Quality Control
Development with Off-the-Shelf Components: 10 Facts
IEEE Software
Do Design Patterns Impact Software Quality Positively?
CSMR '08 Proceedings of the 2008 12th European Conference on Software Maintenance and Reengineering
Recommendation Systems for Software Engineering
IEEE Software
Proceedings of the 2010 ACM-IEEE International Symposium on Empirical Software Engineering and Measurement
How do architecture patterns and tactics interact? A model and annotation
Journal of Systems and Software
A Classification Framework for Software Component Models
IEEE Transactions on Software Engineering
A methodology on extracting reusable software candidate components from open source games
Proceeding of the 16th International Academic MindTrek Conference
Reusability-based quality framework for software components
ACM SIGSOFT Software Engineering Notes
Hi-index | 0.00 |
Nowadays open-source software communities are thriving. Successful open-source projects are competitive and the amount of source code that is freely available offers great reuse opportunities to software developers. Thus, it is expected that several requirements can be implemented based on open source software reuse. Additionally, design patterns, i.e. well-known solution to common design problems, are introduced as elements of reuse. This study attempts to empirically investigate the reusability of design patterns, classes and software packages. Thus, the results can help developers to identify the most beneficial starting points for white box reuse, which is quite popular among open source communities. In order to achieve this goal we conducted a case study on one hundred (100) open source projects. More specifically, we identified 27,461 classes that participate in design patterns and compared the reusability of each of these classes with the reusability of the pattern and the package that this class belongs to. In more than 40% of the cases investigated, design pattern based class selection, offers the most reusable starting point for white-box reuse. However there are several cases when package based selection might be preferable. The results suggest that each pattern has different level of reusability.