Enhancing Software Maintenance via Early Prediction of Fault-Prone Object-Oriented Classes

Author(s):  
Isong Bassey

Object-oriented software (OOS) is dominating the software development world today and thus, has to be of high quality and maintainable. However, their recent size and complexity affects the delivering of software products with high quality as well as their maintenance. In the perspective of software maintenance, software change impact analysis (SCIA) is used to avoid performing change in the “dark”. Unfortunately, OOS classes are not without faults and the existing SCIA techniques only predict impact set. The intuition is that, if a class is faulty and change is implemented on it, it will increase the risk of software failure. To balance these, maintenance should incorporate both impact and fault-proneness (FP) predictions. Therefore, this paper propose an extended approach of SCIA that incorporates both activities. The goal is to provide important information that can be used to focus verification and validation efforts on the high risk classes that would probably cause severe failures when changes are made. This will in turn increase maintenance, testing efficiency and preserve software quality. This study constructed a prediction model using software metrics and faults data from NASA data set in the public domain. The results obtained were analyzed and presented. Additionally, a tool called Class Change Recommender (CCRecommender) was developed to assist software engineers compute the risks associated with making change to any OOS class in the impact set.

The article is dedicated to software quality improvement research within the maintenance phase based on post-object-oriented technologies. An important problem of the maintenance phase is surveyed, namely, the crosscutting functionality problem. Mechanisms of post-object-oriented technologies have been reviewed and basic tasks to be resolved have been formulated in order to reach the final goal of the research: defect reduction during the maintenance phase. The post object-oriented technologies utilization framework for software quality improvement based on a collection of 4 heuristic assumptions has been introduced. The conceptual scheme of the framework has been presented. An applied 2-steps procedure for defect reduction assessment based on quantitative crosscutting-functionality and defect metrics has been described. Twelve results of the experiments concerning calculation of the residual defect number have been presented and analyzed.


Author(s):  
SAMER I. MOHAMED ◽  
ISLAM A. M. ELMADDAH ◽  
AYMAN M. WAHBA

Software maintenance becomes an integral part of software life cycle and constitutes the most important fraction of the total cost of the software lifecycle. Around 50–80 percent of the total lifecycle cost is consumed by maintenance for evolving system [35]. Thus systems with poor maintainability are difficult to modify and require more cost to maintain. This difficulty arises from the impact on the system components where the new requirements/goals will be implemented [9]. These new goals will result in modification of existing components and creation of new components. In this paper, we present the foundations for a new Hybrid-Based Maintainability Impact Analysis (HBMIA) methodology for assessing the impact of the new goals to be selected for implementation on new and existing system components. HBMIA uses not only the system history but it also gets benefit from the experts' experience. HBMIA balances between the system historical data and experts' data based on the system maturity and expert's experience for system components. A case study is performed to demonstrate the added value of the proposed HBMIA.


2010 ◽  
Vol 15 (7) ◽  
pp. 735-747 ◽  
Author(s):  
Nicholas J. Barrows ◽  
Caroline Le Sommer ◽  
Mariano A. Garcia-Blanco ◽  
James L. Pearson

RNA interference-based screening is a powerful new genomic technology that addresses gene function en masse. To evaluate factors influencing hit list composition and reproducibility, the authors performed 2 identically designed small interfering RNA (siRNA)–based, whole-genome screens for host factors supporting yellow fever virus infection. These screens represent 2 separate experiments completed 5 months apart and allow the direct assessment of the reproducibility of a given siRNA technology when performed in the same environment. Candidate hit lists generated by sum rank, median absolute deviation, z-score, and strictly standardized mean difference were compared within and between whole-genome screens. Application of these analysis methodologies within a single screening data set using a fixed threshold equivalent to a p-value ≤0.001 resulted in hit lists ranging from 82 to 1140 members and highlighted the tremendous impact analysis methodology has on hit list composition. Intra- and interscreen reproducibility was significantly influenced by the analysis methodology and ranged from 32% to 99%. This study also highlighted the power of testing at least 2 independent siRNAs for each gene product in primary screens. To facilitate validation, the authors conclude by suggesting methods to reduce false discovery at the primary screening stage. In this study, they present the first comprehensive comparison of multiple analysis strategies and demonstrate the impact of the analysis methodology on the composition of the “hit list.” Therefore, they propose that the entire data set derived from functional genome-scale screens, especially if publicly funded, should be made available as is done with data derived from gene expression and genome-wide association studies.


2020 ◽  
Author(s):  
Maryam Zolnoori ◽  
Mark D Williams ◽  
William B Leasure ◽  
Kurt B Angstman ◽  
Che Ngufor

BACKGROUND Patient-centered registries are essential in population-based clinical care for patient identification and monitoring of outcomes. Although registry data may be used in real time for patient care, the same data may further be used for secondary analysis to assess disease burden, evaluation of disease management and health care services, and research. The design of a registry has major implications for the ability to effectively use these clinical data in research. OBJECTIVE This study aims to develop a systematic framework to address the data and methodological issues involved in analyzing data in clinically designed patient-centered registries. METHODS The systematic framework was composed of 3 major components: visualizing the multifaceted and heterogeneous patient-centered registries using a data flow diagram, assessing and managing data quality issues, and identifying patient cohorts for addressing specific research questions. RESULTS Using a clinical registry designed as a part of a collaborative care program for adults with depression at Mayo Clinic, we were able to demonstrate the impact of the proposed framework on data integrity. By following the data cleaning and refining procedures of the framework, we were able to generate high-quality data that were available for research questions about the coordination and management of depression in a primary care setting. We describe the steps involved in converting clinically collected data into a viable research data set using registry cohorts of depressed adults to assess the impact on high-cost service use. CONCLUSIONS The systematic framework discussed in this study sheds light on the existing inconsistency and data quality issues in patient-centered registries. This study provided a step-by-step procedure for addressing these challenges and for generating high-quality data for both quality improvement and research that may enhance care and outcomes for patients. INTERNATIONAL REGISTERED REPORT DERR1-10.2196/18366


2020 ◽  
Vol 17 (1) ◽  
pp. 181-203
Author(s):  
Tina Beranic ◽  
Marjan Hericko

Without reliable software metrics threshold values, the efficient quality evaluation of software could not be done. In order to derive reliable thresholds, we have to address several challenges, which impact the final result. For instance, software metrics implementations vary in various software metrics tools, including varying threshold values that result from different threshold derivation approaches. In addition, the programming language is also another important aspect. In this paper, we present the results of an empirical study aimed at comparing systematically obtained threshold values for nine software metrics in four object-oriented programming languages (i.e., Java, C++, C#, and Python).We addressed challenges in the threshold derivation domain within introduced adjustments of the benchmarkbased threshold derivation approach. The data set was selected in a uniform way, allowing derivation repeatability, while input values were collected using a single software metric tool, enabling the comparison of derived thresholds among the chosen object-oriented programming languages.Within the performed empirical study, the comparison reveals that threshold values differ between different programming languages.


10.2196/18366 ◽  
2020 ◽  
Vol 9 (10) ◽  
pp. e18366
Author(s):  
Maryam Zolnoori ◽  
Mark D Williams ◽  
William B Leasure ◽  
Kurt B Angstman ◽  
Che Ngufor

Background Patient-centered registries are essential in population-based clinical care for patient identification and monitoring of outcomes. Although registry data may be used in real time for patient care, the same data may further be used for secondary analysis to assess disease burden, evaluation of disease management and health care services, and research. The design of a registry has major implications for the ability to effectively use these clinical data in research. Objective This study aims to develop a systematic framework to address the data and methodological issues involved in analyzing data in clinically designed patient-centered registries. Methods The systematic framework was composed of 3 major components: visualizing the multifaceted and heterogeneous patient-centered registries using a data flow diagram, assessing and managing data quality issues, and identifying patient cohorts for addressing specific research questions. Results Using a clinical registry designed as a part of a collaborative care program for adults with depression at Mayo Clinic, we were able to demonstrate the impact of the proposed framework on data integrity. By following the data cleaning and refining procedures of the framework, we were able to generate high-quality data that were available for research questions about the coordination and management of depression in a primary care setting. We describe the steps involved in converting clinically collected data into a viable research data set using registry cohorts of depressed adults to assess the impact on high-cost service use. Conclusions The systematic framework discussed in this study sheds light on the existing inconsistency and data quality issues in patient-centered registries. This study provided a step-by-step procedure for addressing these challenges and for generating high-quality data for both quality improvement and research that may enhance care and outcomes for patients. International Registered Report Identifier (IRRID) DERR1-10.2196/18366


2020 ◽  
Vol 9 (1) ◽  
pp. 2232-2236

Software Applications needs to be changed constantly as per the requirements of the user or the client. This phase is known as the maintenance phase of a software application. On an average, the cost of software maintenance is more than 50% of all Software Development Life Cycle phases. The main purpose of software maintenance is to modify and update software application after delivery in order to correct faults, enhance the functionality or to improve performance. When the change request (CR) is received from the client the developers have to work upon the request. If the Change Request requires any modification, the application developers have to identify the risk of modifying the program or application before making the actual change. But there is a high chance of making errors in modifying the existing software. Change Impact analysis (CIA) is one of the error prevention technique. It is the process to find the effect of a change in a software application before the changes are made. By equipping developers with automated CIA tools to identify the risk of modifying the application we can minimize the errors. Impact analysis can be done based on the change request. This paper aims at developing a change impact analysis tool which can be used by the developer during the software maintenance phase. This proposed tool -Strategic Dependency Tracker (SDepTrac) helps the programmer/ developer to know “What part of the program (of a Java application) is impacted if a change is to be made to a particular variable / method / class?” with more accuracy compared to the existing tools. It displays the number of lines affected, classes and methods which are going to be affected, if we perform the requested change by considering the data dependency, control dependency and the semantic dependency. Thus the tool helps the developer to identify the impact set and minimizes the human errors and also saves time during the Maintenance phase.


2021 ◽  
Vol 9 (1) ◽  
pp. 472-478
Author(s):  
M Ashish Kumar, Yudhvir Singh, Vikas Siwach, Harkesh Sehrawat

Recommender systems are the backbone of all the prediction-based service platforms e.g. Facebook, Amazon, LinkedIn etc. Even companies now a days are using the recommender systems to show users personalized ads. These service providers capture the right audience for their services/ products and hence, improve overall sales. Social networking platforms are using recommender systems for connecting people of similar interests which is almost impossible without recommender systems.  Collaborative filtering-based recommender system is most widely used recommender system. It is used in this research to predict the rating for a specific movie. Accuracy of the prediction define the performance of the overall system. The quality of predictions is degraded by the attackers by injection of fake profiles. In this paper, the various types of profile injection attacks are explained and the attack scenario gets extended to measure the performance of these attacks. Empirical results on the real world publicly available data set shows that these attacks are highly vulnerable. The impact of these attacks in several conditions has been measured and it is tried to find the scenarios where these attacks are more powerful.


2017 ◽  
Vol 10 (12) ◽  
pp. 4845-4863 ◽  
Author(s):  
Barbara Angerer ◽  
Florian Ladstädter ◽  
Barbara Scherllin-Pirscher ◽  
Marc Schwärz ◽  
Andrea K. Steiner ◽  
...  

Abstract. The demand for high-quality atmospheric data records, which are applicable in climate studies, is undisputed. Using such records requires knowledge of the quality and the specific characteristics of all contained data sources. The latest version of the Wegener Center (WEGC) multi-satellite Global Positioning System (GPS) radio occultation (RO) record, OPSv5.6, provides globally distributed upper-air satellite data of high quality, usable for climate and other high-accuracy applications. The GPS RO technique has been deployed in several satellite missions since 2001. Consistency among data from these missions is essential to create a homogeneous long-term multi-satellite climate record. In order to enable a qualified usage of the WEGC OPSv5.6 data set we performed a detailed analysis of satellite-dependent quality aspects from 2001 to 2017. We present the impact of the OPSv5.6 quality control on the processed data and reveal time-dependent and satellite-specific quality characteristics. The highest quality data are found for MetOp (Meteorological Operational satellite) and GRACE (Gravity Recovery and Climate Experiment). Data from FORMOSAT-3/COSMIC (Formosa Satellite mission-3/Constellation Observing System for Meteorology, Ionosphere, and Climate) are also of high quality. However, comparatively large day-to-day variations and satellite-dependent irregularities need to be taken into account when using these data. We validate the consistency among the various satellite missions by calculating monthly mean temperature deviations from the multi-satellite mean, including a correction for the different sampling characteristics. The results are highly consistent in the altitude range from 8 to 25 km, with mean temperature deviations less than 0.1 K. At higher altitudes the OPSv5.6 RO temperature record is increasingly influenced by the characteristics of the bending angle initialization, with the amount of impact depending on the receiver quality.


Author(s):  
XIAOBING SUN ◽  
BIXIN LI ◽  
WANZHI WEN ◽  
SAI ZHANG

Software change impact analysis (CIA) is a key technique for identifying unpredicted and potential effects caused by changes made to software. Different changes have different ripple effects to other parts in the program, even some changes do not affect other entities in spite of some dependencies existing between these entities and the modified one. This induces imprecision if such a factor is neglected. This article proposes a static CIA technique which considers the impact rules of different change types to predict the change effects. Input of our CIA includes changed classes, class methods and class fields, and the output is composed of potentially affected classes, class methods, and class fields. Precision improvement of the CIA technique relies on three aspects: change types of a modified entity, dependencies between the modified entity and other entities, and a precise initial impact set (IIS), on which the final impact set (FIS) is computed. Experimental case studies demonstrate the effectiveness of our technique, and present its potential applications in software maintenance.


Sign in / Sign up

Export Citation Format

Share Document