• Corpus ID: 39062199

Open Source Software: How Can Design Metrics Facilitate Architecture Recovery?

  title={Open Source Software: How Can Design Metrics Facilitate Architecture Recovery?},
  author={Eleni Constantinou and George Kakarontzas and Ioannis Stamelos},
Modern software development methodologies include reuse of open source code. Reuse can be facilitated by architectural knowledge of the software, not necessarily provided in the documentation of open source software. The effort required to comprehend the system's source code and discover its architecture can be considered a major drawback in reuse. In a recent study we examined the correlations between design metrics and classes' architecture layer. In this paper, we apply our methodology in… 
Designing Software Architecture for Reusing Open Source Software
An architecture design method based on design recovery of open source software to reuse the software in the development of sustainable software system to develop a software system rapidly and improve the reliability of the system.
Detection and Repair of Architectural Inconsistencies in Java
DARCY is presented, an approach that leverages these definitions and static program analyses to automatically detect the specified inconsistent dependencies within Java applications and repair those identified inconsistencies and the benefits of DARCY in automated detection and repair of these inconsistencies.
Are code smell detection tools suitable for detecting architecture degradation?
Current automated code smell detection techniques require fine-tuning for a specific system if they are to be used for finding classes with architectural inconsistencies, even when combining categories of code smells.
Search-Based Refactoring for Layered Architecture Repair : An Initial Investigation
The search-based refactoring framework, Code-Imp, is extended to provide the metrics and refactorings necessary for architecture violation repair and a case study on the open source project DSpace, which was previously identified as suffering from architectural erosion.
A Literature Review and Classification of Selected Software Engineering Researches
It is shown that an increasing volume of software engineering researches have been conducted in diverse range of areas and this review is intended to provide impetus in research and help simulate further interest.


Towards Open Source Software System Architecture Recovery Using Design Metrics
This paper investigates how design metrics can reveal architectural information about a software system and more specifically, how architectural layers are correlated to design metrics.
A Metrics Suite for Object Oriented Design
This research addresses the needs for software measures in object-orientation design through the development and implementation of a new suite of metrics for OO design, and suggests ways in which managers may use these metrics for process improvement.
Documenting software architectures: views and beyond
This lecture maps the concepts and templates explored in this tutorial with well-known architectural prescriptions, including the 4+1 approach of the Rational Unified Process, the Siemens Four Views
Tool Writing: A Forgotten Art?
The author created a metric tool, named ckjm, using the design principles the author outlined earlier, that prints to its standard output a single line for each class, containing the class name and the six metrics values.
Pattern-Oriented Software Architecture
This study uses design patterns to present platform independent architecture to help extend the usability of any software system and provide structural notations for anySoftware system.
Pattern-Oriented Software Architecture Volume 1: A System of Patterns
By fitting patterns into traditional software engineering practices, the authors of Pattern-Oriented Software Architecture successfully argue that the role for patterns will only continue to diversify and enrich tomorrow's software engineering tools and methodologies.
The WEKA data mining software: an update
This paper provides an introduction to the WEKA workbench, reviews the history of the project, and, in light of the recent 3.6 stable release, briefly discusses what has been added since the last stable version (Weka 3.4) released in 2003.
Depth-First Search and Linear Graph Algorithms
The value of depth-first search or “backtracking” as a technique for solving problems is illustrated by two examples. An improved version of an algorithm for finding the strongly connected components
CBOBin = 4) and (NOCBin = 1) and (LCOMBin = 1) and (NPMBin = 3) THEN layerBin=4
  • IF
IF IF (WMCBin = 4) and (CBOBin = 3) and (CaBin = 1) and (NPMBin = 4) THEN layerBin=2
  • IF IF (WMCBin = 4) and (CBOBin = 3) and (CaBin = 1) and (NPMBin = 4) THEN layerBin=2