proach in order to calculate a reusability score for each property. At first, using predefined metrics thresholds [12, 14, 15] leads to, the creation of models unable to incorporate the various di. benchmarking for improving software maintainability, Software Quality, ence on Software Maintenance, Reengineering, and Reverse Engineering, mark data, in: 2010 IEEE International Conference on Software Mainte-. Upon removing outliers with a one-class classifier, we employ Principal Feature Analysis and examine the semantics among metrics to provide an analysis on five axes for a source code component: complexity, coupling, size, degree of inheritance, and quality of documentation. rather complex and highly coupled with other classes. approach can successfully assess reusability, as perceived by methodology involves applying and assessing different state-of-the- These configurations may target the aggregation, The limitations and threats to validity of our reusability eval-. Ridge Regression [51] was used for train-, ing the regression model, while the dedicated regularized least-. 3.1.1 Activity 1-1. its popularity, with the extent to which it is reusable, a target quality score at repository level, and then proposed, works, one may conclude that this target score can be e, used to train models for estimating the reusability of source, work lies in the way the ground truth value for each component, indeed provide some informal proof for the reuse rate of repos-, they refer at repository level dictates that modeling reusability, at component (class or package) level requires some type of av-. The extent to which the software can be used by many different users C. The capability of the software to be moved to a different platform D. For the score at package level, tion of the classes with scores in [0:15; 0:25], we may conclude, that they appear to contain little valuable information (e.g. Software Engineering (RAISE), Gothenburg, Sweden, 2018, pp. Being a customer-focused and technology-driven company, it always helps clients in crafting holistic business value for their software development efforts. In this work, we refrain from expert-based solutions and employ the actual reuse rate of source code components as ground truth for building a reusability estimation model. Although several systems have been designed to automate this procedure by recommending components that cover the desired functionality, the reusability of these components is usually not assessed by these systems. 65 projects with more than 3 million lines of code. In this paper, we define and potential of source code residing in open software repositories The components must not be too complex and should be bug-free. This paper examines various approaches to measuring software reusability. Ridge, regression computes the reusability score of a certain compo-, nent taking into account all metrics regardless of the prefer-, ibility to the developer or the quality expert to ignore specific, metrics when calculating the reusability score (could be di, argue that our modeling strategy is more expressiv. In order to ex-, amine, and thus model, the influence of each metric on the reuse, rate of software components, we first extract its distribution at, mark dataset, we use the values from all packages (or classes), included in the dataset for which the calculated reuse rate val-. score at both class and package levels, as well as the distribu-. a class or a package is reusable. first package has a score of 89.3% and the second has 9.68%. Apart from a, final reusability score, our system further provides an analysis., Coverage metrics answer the question of whether we adequately checked a given software artifact. In this work we argue that the popularity of software components, as perceived by developers, can be considered as an indicator of software quality. quality of software components is of vital importance. is the total number of metrics that belong to the prop-, is the reusability score calculated for the, erences in the importance of metrics are ex-, is the total number of the evaluated properties (six, ) is the reusability score calculated for the, , as the rest of the static analysis metrics are only computed, ), while in the case of packages the final score, erent static analysis metrics in the reusability degree of soft-, ACM International Conference on Automated Software Engineer-. GitHub stars and forks, which indicate the extent to which section, we provide insights on how our methodology and, the respective results can be exploited by the community, First of all, given that our benchmark dataset is composed, of a large set of general purpose libraries and covers a wide, range of reuse scenarios, our reusability evaluation models can, ity degree of software artifacts on the basis of certain source, in order to optimize the ranking of the results based on the, cases where reusability should be calculated based on specific, metrics given the individual characteristics of the project un-, der evaluation, our methodology is still applicable simply by, changing the benchmark repository with a di, cludes projects that share the same characteristics with the one, scribed in section 3 in order to generate the new models. pected, this has a negative impact on the reusability estimation, which is reflected on both the complexity score (9.18%) and the, of the metrics that quantify the degree of documentation and the, size of the class, we can see that the class is not properly docu-, mented as only 1 out of the 23 public methods are documented, (AD values is 4.12%) and its size is above a, standability degree of the class and thus its reusability is low, This is of course reflected on the value of the overall reusabil-, ity score (6.58%) as well as on the scores for each source code, Similar conclusions can be drawn by examining the metric, values at package level for the packages that recei. on Software Maintenance (ICSM), 2011, pp. we design a reusability scoring mechanism for evaluating both. One important characteristic to measure quality of components is component reusability, It measures how easily the component can be reused in a new environment. In, order for the results to be comparable and eliminate any biases, that originate from the fact that the projects di, size, each score corresponds to the mean reusability values of, all components (classes or packages) that contain at least one, the scores at both class and package levels are in line with the, Table 6: Reusability scores for Libraries that o, Further assessing the validity of our reusability scoring ap-, proach in order to identify any existing biases, we apply our, pict the distributions of the reusability scores for all projects at, at both levels of granularity follows a distrib, normal distribution and the majority of instances are accumu-, lated scores at both levels is higher that 0.9 (0.946 for classes. Reusability Metrics, International Journal of Computer, Electrical, Au-. used in more than one system, or for building other assets. the actual reuse rate of source code components. poses a major challenge for the research community. The evaluation of our methodology indicates that our system can effectively assess reusability as perceived by developers. Consequently, more and more developers started embedding properties in code. However, most software quality estimation tools, even the ones using adaptable models, depend on fixed metric thresholds for defining the ground truth. tomation, Control and Information Engineering 8 (11) (2014) 1965–1972. Prior efforts follow expert-based approaches, however the continuously increasing open-source software initiative allows the introduction of data-driven alternatives. ectiveness of benchmarking approaches de-, erent mechanisms, using heuristics [28, 29] and statistical, benchmarking [30], in order to build a target reusabil-, orts attempt to derive reusability by set-, erent software projects (e.g. Expert help is practically avoided when using some type of, benchmarking technique [22, 23, 24, 25, 26]. on Source Code Analysis and Manipulation (SCAM), IEEE, 2014, pp. Neural networks are used to estimate the final quality score given metrics from all of these axes. Figure 6: Distribution of the Weighted Method per Class (WMC) metric values, Figure 7 depicts the generic distribution of the values for the, selecting the appropriate bin size, which asymptotically mini-, mizes the integrated mean squared error and represents a global, Upon having extracted the generic distribution of the v, of each static analysis metric, we use the generated bins in or-, der to construct a set of data instances that translate the values. It addition, it is worth noticing that the increase behaviour of the values. the values of all three metrics. On the contrary, it entails all entities of software development life cycle like software components, test suites, documentations and designs. Code is Design and Design is code - So, the saying goes. In this work, we aspire to extend the aforementioned line. How users can,detect which component is the most reusable among several,components implementing the same specification, and how,users can select components with higher reusability are key,issues. e-Zest is a leading digital innovation partner for enterprises and technology companies that utilizes emerging technologies for creating engaging customers experiences. the results to determine if the import declarations actually cor-, respond to reuses of the component at hand, we maintain two, statistics: (a) the number of source code files in which the com-, ponent is being reused, and (b) the number of projects in which, Figure 1: AGORA query on import declarations, Although these statistics may seem simplistic, they are ac-, tually quite indicative of the reusability degree of source code, deem it as reusable and therefore choose to use it in their own, nents that are reused multiple times within each project (and, a lot of times in total) are most probably designed exactly for, that type of usage (e.g. Extracting source code snippets from online sources, in: IEEE, International Workshop on Realizing Artificial Intelligence Syner. thoroughly analyzed to identify reusable software components. of quality experts for evaluating the source code and determin-. Although several quality assessment systems have been proposed, most of them do not focus on reusability. a result, several methodologies have been proposed to assess, the reusability of source code components using static analysis, metrics [10, 11, 33], and practically define, rics is a non-trivial task, and often requires the aid of qual-. source code quality estimation based on static analysis metrics, in: IEEE International Conference on Software Quality, Reliability and Se-. A reusable software component, or RSC, is a software entity intended for reuse. strategy thus there is no evident added value. Collect Requirement. into one complexity score (solid black line line). The import field of AGORA is analyzed and split into tokens, finding all possible declarations of the sample XObject compo-. Software Reusability Dataset based on Static Analysis Metrics and Reuse Rate Information, Assessing the User-Perceived Quality of Source Code Components Using Static Analysis Metrics, User-Perceived Reusability Estimation based on Analysis of Software Repositories, Towards Modeling the User-perceived Quality of Source Code using Static Analysis Metrics, QATCH - An adaptive framework for software product quality assessment, Understanding the Factors That Impact the Popularity of GitHub Repositories, User-Perceived Source Code Quality Estimation Based on Static Analysis Metrics, Ridge regression: Biased estimation for nonorthogonal problems, Towards a Metrics Suite for Object Oriented Design, QualBoa: reusability-aware recommendations of source code components, Assessing the Reusability of Source Code Components. It offers software development and consulting services for cloud computing, enterprise mobility, big data and analytics, user experience and digital commerce. to get a more detailed view of the components. coupling, inheritance, documentation and size. Upon retrieving components, QualBoa provides a ranking that involves not only functional matching to the query, but also a reusability score based on configurable thresholds of source code metrics. Access scientific knowledge from anywhere. rely on expert help or employ arbitrary ground truth datasets. bins and bin size) that result in minimum information loss. Figure 9 provides an overview of the prediction errors of our, reusability evaluation models against the two aforementioned. Preliminary evaluation of our methodology indicates that our help is available, it may still be subjective or case-specific. Most of them, however, rely on the aid of experts for defining target quality scores and deriving metric thresholds, leading to results that are context-dependent and subjective. its reusability. Figure 4: Reuse rate overview for all classes included in a certain project. Figure 10: Error distribution of the reusability scores. Several approaches that use code metrics rely on the aid of experts for defining target quality scores and deriving metric thresholds, leading to results that are highly context-dependent and subjective. [52] F. Pedregosa, G. Varoquaux, A. Gramfort, V. Michel, B. Thirion, O. Grisel, M. Blondel, P. Prettenhofer, R. W, derplas, A. Passos, D. Cournapeau, M. Brucher, M. Perrot, E. Duchesnay, ... • Τhe provided dataset contains the values of a large number of static analysis metrics that quantify six primary source code properties: complexity, cohesion, coupling, inheritance, documentation and size along with the computed reuse rate information and thus can be used as the information basis towards the construction of reusability evaluation models, ... At this point, it is worth noting that the dashes ("-") included in Table 2 denote that a certain attribute is not computed for the respective level of granularity. Function analysis specification is used to survey OSS for reuse as a baseline. 100–107. The widely adopted component-based development paradigm considers the reuse of proper software components as a primary criterion for successful software development. There are some good characteristics of a good software:- 1. Software reusability also enhances quality and productivity. The survey is conducted among of software reuse practitioners at Universiti Malaysia Terengganu. As a step toward creating such a model for evaluating end-user web macro scripts, we have identi-fied script characteristics that correspond to the likelihood of script reuse. 11, 12] (or, in a broader sense, maintainability and quality as a, whole [13, 14, 15, 16, 17, 18, 19]) by using static analysis met-, rics, such as the known CK metrics [20]. potential of source code residing in open software repositories Which of the following characteristics is primarily associated with software reusability? The requirements specification, the architectural design, and the source code are all software in different formats. under some realistic reuse scenarios, and thus further validate. Thus, several approaches have been developed to measure the quality of software, Nowadays, software has to be designed and developed as fast as possible, while maintaining quality standards. WMC at class level) to a reusability score in, scribed in the previous subsection), we select all compo-, nents (classes or packages) for which the values of the, center), which is computed as the sum of the reuse rates, of the components of the bins that were selected in the, previous step. Software reusability is very important and crucial attribute to evaluate the system software. methodology involves applying and assessing different state-of-the- ponents (classes or packages), which allows us to produce a. generic distribution that reflects our entire benchmark dataset. Although to maintain and in some cases they may even introduce faults. For any organization, improving the business performance means performing their software ... characteristics of software components. Being an evolving concept, lot of organizations are moving forward to incorporate software reusability within their environment. Symposium on Information Systems and Engineering, 2001. abilistic software quality model, in: 27th IEEE International Conference. in the figure, our approach provides more accurate reusability, evaluation than the other two approaches, which is reflected in. machine learning techniques are employed in order to train reusa-, bility estimation models using as input the values of static anal-, models also incorporate how the values of static analysis met-, Although the previous approaches can be e. tain cases, their applicability in real-world scenarios is limited. on the correlation of its values with the calculated reuse rate. formulate a reusability score by employing information from Figure 14: Overview of how the individual quality scores per property (dashed. © 2008-2020 ResearchGate GmbH. b) Flexibility : Changes in the software should be easy to make. our system and exhibit high and low reusability scores. Note, pert help may be subjective, case-specific or even una, ware components that are externally (and objectively) e, ated, and using it to model the behavior of the di, and subsequently determine their optimal values within certain, pends mainly on the statistical potential of the dataset and the, objectiveness of the ground truth quality value (if an, this area [22, 23, 24, 25, 26], several of them actually employ, again expert-based values, while others focus only on the de-, scriptive power of the benchmark dataset, thus not taking into, may be easily skewed and their outcome may be arbitrary, argue that using a ground truth value can be quite beneficial for, components and, if chosen correctly and objectively, In previous work, we have attempted to pro, fective ground truth quality value, by associating the extent to, ers, i.e. Software reusability Another limitation that occurs from our methodology is the, fact that the ability of our models to generalize totally depends, on the benchmark dataset and the selected metrics that quantify, fort to cover a wide series of development scenarios, we chose, maven that mainly contains general purpose libraries and thus, contains source code that is subject to be reused by a wide audi-, we chose metrics that provide source code analysis on multiple, certain domain with certain characteristics that are reflected in, the source code and do not comply with the general reuse prin-, ciples, our methodology requires the use of a di, with the corresponding metrics should be carefully selected in. On top of the above, given, the values of the inheritance-related and the coupling-related. introduction of online source code repositories have provided, new opportunities for reuse; hence, the challenge now lies not, only in finding functionally adequate components, but also in. These judgments can be expressed into linguistic values, which makes the process more intuitive. tion mining, IEEE Transactions on Software Engineering 38 (1) (2012), work for measuring and evaluating program source code quality. Many believe software reusability provides the key to tremendous benefits and saving in software development product. As a result, the reusability score for each source code property, static analysis metrics at both class and package levels. In this work, we build a mechanism that employs static analysis metrics extracted from GitHub projects and defines a target quality score based on repositories’ stars and forks, which indicate their adoption/acceptance by the developers’ community. Candidate design features for software reuse include: Adaptable; Brief: small size; Consistency; Correctness; Extensibility Ad hoc code reuse has been practiced from the earliest days of programming. ever they do not generalize beyond the benchmark dataset itself, as they do not employ some type of ground truth for model-, tive ground truth quality value and emplo, models that will account for the specifics of di. by personal preference or trend (especially the number of stars). Information, System and Control Engineering 8 (1) (2014) 114–120. This paper presents theoretical work that builds a suite of metrics for object-oriented design. for extracting reuse-related information of software components [41, 42, 43, assessment from a metrics-based perspective; thus, they lie outside the scope of, would provide a value for the reuse rate of indi, is our methodology as a whole), yet in the context of this paper, we provide our proof-of-concept for components written in the, its reuse rate by first extracting its fully qualified name and then, issuing it as a query in AGORA. Preliminary evaluation indicates that our approach effectively estimates software quality at both class and package levels. Various Revision Characteristics of software are :-. Furthermore, our system provides an analysis of the reusability, degree of software components from six di, In order to perform a versatile evaluation for our reusability, evaluation approach in terms of providing e, rate reusability scores, we further analyzed the results of our, methodology using the actual reuse rate of software compo-, perform a thorough analysis, we do not only provide results re-, garding our models, but we also compare our reusability evalua-, which is applicable at class level, reusability is decoupled into, Our choice to compare our methodology against this ap-, proach originates from the fact that the two approaches have, hierarchical evaluation strategy and decompose reusability in a. set of properties that correspond to the primary evaluation axes. Fuzzy multi-criteria decision-making is employed in order to model the uncertainty imposed by experts’ judgments. of AGORA is populated with approximately 3000 of the most, popular Java repositories of Github, where popularity is deter-, itories is supported by the fact that popular projects typically. This framework is utilized by architects to ensure that most profitability and consistency are accomplished all through the product advancement life cycle. Reusing software assets has many advantages and has been essential feature of all software development approaches. tion hiding and separation of concerns [9]. for the fact that our approach uses more metrics, the main di, ence of the two approaches relies in the fact that our approach, uses the reuse rate as ground truth information and thus pro-. Thus, measuring the. i and iii.… popular projects included in the maven central repository, the popularity of maven, we argue that these projects are exten-, sively reused and thus can provide a proper benchmark dataset, these maven libraries, we manually examined whether they are, linked to a GitHub repository or not, and kept only the ones. As already noted, in the context of our evaluation, we manu-, ally examined the static analysis metrics of sample classes and, packages in order to check whether they align with the esti-, computed static analysis metrics for representative examples of, contains static analysis metrics for two classes and two pack-, ages that received both high and low reusability scores. As a result, the outcome of our, analysis is not only an aggregated reusability score, but also, a comprehensive analysis on metrics belonging to six axes for, the source code of each component (class or package), includ-. component as a measure of its reusability. For example, statement coverage metrics measure how many and how often lines of code were executed. Communications in Computer and Information Science. ment, Tech. Most approaches. In this context, developers tend to adopt a component-based software engineering approach, reusing own implementations and/or resorting to third-party source code. In this work, we build a mechanism that employs static analysis metrics extracted from GitHub projects and defines a target quality score based on repositories’ stars and forks, which indicate their adoption/acceptance by developers. instance, Diamantopoulos et al. Hence, developers looking for reused components are unable to attain exact source codes of components as only object codes are available. Software can be custom built. Chapters 18 and 19 discuss two reuse technologies in more details: components and services. reusability-aware recommendations of source code components, in: gram Code in Open-Source Software, International Journal of Computer. able metric thresholds [16, 17, 18, 19]. Though, there can be few things which can hamper the reusability of component. Then, we employ the reuse, rate information in order to assign a certain reusability score to, each bin (step c), this way formulating our ground truth upon, which we train our reusability evaluation models using polyno-. ting predefined thresholds for quality metrics [12, 14, 15]. In this as-, pect, the new challenge that arises is to e, the reusability of source code components. in its calculation formula. thus resulting in context-dependent and subjective results. Preliminary evaluation indicates that our approach effectively estimates software quality at both class and package levels. the formulation of the reuse rate of each software component. models for reusability estimation at both class and package levels. A. Symeonidis, Assessing the user-perceived quality of source code com-. Figure 4 illustrates the reuse rate values regarding all classes, class, while the label refers to the absolute value of the reuse, have not been reused (the ones having zero reuse rate), while, there are also multiple others that have a rather low reuse rate, fer to private classes, which we took care to remove from our, ponents (with either low or high reuse rates) were maintained, as they include useful information about the writing style of the, library at hand (e.g. Section 3 describes our benchmark dataset that comprises val-, ues of static analysis metrics and presents our reusability scor-, ing scheme, which is based on the reuse rate of source code, components. Journal of Theoretical and Applied Information Technology 10 th June 2015. Time-saving: Re-using the ready made components is time saving for the software team. developers. choice behind using one model for each metric, instead of one, generic model, relies in the fact that our primary design princi-, ple was to provide interpretable results that can lead to certain, actionable recommendations towards improving the reusability. In this work, we present QualBoa, a recommendation system for source code components that covers both the functional and the quality aspects of software component reuse. Nowadays, software has to be designed and developed as fast as possible, while maintaining quality standards. Software Engineering, IEEE Softw. Reusability is the degree to which a component can be,reused, and reduces the software development cost by,enabling less writing and more assembly. development. The subjectivity that underlies the notion of quality does not allow the design and development of a universally accepted mechanism for software quality assessment. research has shown that highly rated projects (i.e. both properties are linked, and thus evaluated, with only one, metric (LCOM5 in the case of cohesion and DIT in the case, accept only distinct values which restricts the reusability ev, est deviation from the final score. several systems have been designed towards this direction, most Knowing what makes software "reusable" can help us learn how to build new reusable components and help us to identify potentially useful modules in existing programs. Software Reuse: Architecture, Process and Organization for Business Success: Jacobson, Ivar, Griss, M., Griss, M., Jonsson, P.: 9780201924763: Books - Nowadays, the continuously evolving open-source community and the increasing demands of end users are forming a new software development paradigm; developers rely more on reusing components from online sources to minimize the time and cost of software development. Our methodology includes applying different machine learning algorithms in order to produce reusability estimation models at both class and package levels. Software reuse is the process of using the existing software to create a new software system. thoroughly analyzed to identify reusable software components. People interested in software reuse because they want to build systems that are large, reliable, less expensive, more complex and delivered on … import declarations with wildcards). We are extremely excited! Also, some techniques and tools emerged that automatically infer system properties where they do not explicitly exist. [12] proposed a metrics-based, reusability scorer that calculates the degree of reusability of, software components based on the values of eight static anal-, ysis metrics. In this section, we design a reusability modeling methodol-, ogy based on the reuse rate of source code components as well, As already mentioned, our methodology is based on em-, ploying the reuse rate of software components in order to esti-, mate their reusability as perceived by software de, define the reuse rate of a software component as the extent to, reuse rate of a component is to find out how many other com-, In order to conduct such a measurement, we decided to use, the capabilities of our own code search engine, named AGORA, aware capabilities and has an open API that allows performing. at class level. GitHub stars and forks for each one of the analyzed projects. sign, IEEE Transactions on Software Engineering 20 (6) (1994) 476–493. package level and thus formulate our ground truth. ness the power of open-source code hosting facilities and code, search engines to find out the extent to which individual compo-, nents are actually reused, and, most importantly, to determine, what are the quality characteristics that influence the reuse rate, case comprises the reuse rate of each component, or, as we may, name it, the reusability as perceived by developers (de, propose a methodology for decomposing the influence of vari-, ous static analysis metrics on the reusability degree of software, and package level and model their behavior to translate their, values into a reusability degree. An appropriate and simple documentation on how to use component can make it more understandable and easy to implement. classes and packages based on their individual characteristics. Once all bins are assigned with a reusabil-, ity score, we normalize these scores so that they are all in, stances produced in the previous steps, which have the, regression is a reusability evaluation model that returns, a reusability score given the value of the metric (continu-, Figure 8 illustrates the results of the reusability modeling, level. proaches) from the actual reuse rate (normalized). characteristics and sub characteristics for software component reusability for CBSD. We initially build a benchmark dataset, harnessing the power of online repositories to determine the number of reuse occurrences for each component in the dataset. Each bin has been assigned with a reusability score based, on the reuse rate of the classes contained in the benchmark. While developing a complex software, programmers or software developers require immense knowledge and brain-storming. This measure differs from project to project mainly by considering the degree of similarity between classes quantitatively, and they also take account of indirect similarities. tute the information basis upon which our models are built. oue, Identifying source code reuse across repositories using lcs-based, source code similarity, in: IEEE 14th International Working Conference. the acceptable metric intervals [37, 38, 39]. *” includes not only the package, “org.example.mypackage” but also the package “org.e, Therefore, in order to eliminate the impact of this issue to the, purity in our dataset, we performed a post-processing step that, Table 2: Overview of the computed Static Analysis Metrics, // ReuseRate of android.telephony package += 1, // ReuseRate of android.content package += 1, Figure 2: Example of Reuse rate calculation at class and package level, values of the reuse rate for both classes and packages. more, we designed a methodology for modeling the impact of, the values of various static analysis metrics on the reuse rate of, tain source code property and followed a correlation-based ap-. tation and Popularity Within Github, in: Proceedings of the 11th Working, Conference on Mining Software Repositories, MSR 2014, ACM, New. This chapter gives an overview of reuse issues. most, Figure 11: Overview of the fitting procedure regarding the Weighted Methods, Figure 12: Overview of the fitting procedure regarding the Weighted Methods, Figures 13 and 14 depict how the individual quality scores, of the source code properties (dashed lines) are aggregated into, one final reusability score (solid black line) at class and package, index and the y-axis refers to the reusability score. The proper level of docu-, mentation also originates from the value of the comments den-, sity (CD) metric according to which there is almost one line of, comments every three lines of code. its reusability. The indexes, of the source code components in both figures are sorted in as-, depends on the scores that were computed for six source code, Figure 13: Overview of how the individual quality scores per property (dashed. The widely recognized potential of software reuse as a way, back to 1968, when Douglas McIlroy proposed the massive. Software metrics are considered to be vital in software development and management. components. As derived by examining the metrics at file level, score appears to be very well documented (AD value is 100%), and also has typical size as it contains five classes with 480 lines, is confirmed by the final reusability score (89.3%). Upon removing outliers with a one-class classifier, we employ Principal Feature Analysis and examine the semantics among metrics to provide an analysis on five axes for source code components (classes or packages): complexity, coupling, size, degree of inheritance, and quality of documentation. Expert-Based Software Quality Estimation., in: mance evaluation of reusable software components based neural network, International Journal of Research in Engineering and Technology 1 (2), Model for Procedure-Based Software Systems, International Journal of.

software reusability characteristics

Winter Hat Clipart, Government Software Companies, Lumber Yard Menu, Section 8 Phone Number Los Angeles, What Museums Are Open In Los Angeles, Big Data Presentation Topics, Why 21 Modak To Ganesh,