2,325 research outputs found

    Working Notes from the 1992 AAAI Workshop on Automating Software Design. Theme: Domain Specific Software Design

    Get PDF
    The goal of this workshop is to identify different architectural approaches to building domain-specific software design systems and to explore issues unique to domain-specific (vs. general-purpose) software design. Some general issues that cut across the particular software design domain include: (1) knowledge representation, acquisition, and maintenance; (2) specialized software design techniques; and (3) user interaction and user interface

    Model-based risk assessment

    Get PDF
    In this research effort, we focus on model-based risk assessment. Risk assessment is essential in any plan intended to manage software development or maintenance process. Subjective techniques are human intensive and error-prone. Risk assessment should be based on architectural attributes that we can quantitatively measure using architectural level metrics. Software architectures are emerging as an important concept in the study and practice of software engineering nowadays, due to their emphasis on large-scale composition of software product, and to their support for emerging software engineering paradigms, such as product line engineering, component based software engineering, and software evolution.;In this dissertation, we generalize our earlier work on reliability-based risk assessment. We introduce error propagation probability in the assessment methodology to account for the dependency among the system components. Also, we generalize the reliability-based risk assessment to account for inherent functional dependencies.;Furthermore, we develop a generic framework for maintainability-based risk assessment which can accommodate different types of software maintenance. First, we introduce and define maintainability-based risk assessment for software architecture. Within our assessment framework, we investigate the maintainability-based risk for the components of the system, and the effect of performing the maintenance tasks on these components. We propose a methodology for estimating the maintainability-based risk when considering different types of maintenance. As a proof of concept, we apply the proposed methodology on several case studies. Moreover, we automate the estimation of the maintainability-based risk assessment methodology

    A comparison between three different approaches to omplement a system dynamic model: an assessment by a multidisciplinary team.

    Get PDF
    In the last few decades, application of system dynamics models (SDM) has disseminated through the agricultural sciences. Modeling groups are now much more multidisciplinary once the models currently developed are applied to larger frameworks. The literature has been inconclusive with regard to empirical evidence of the trade-offs between different paradigms to implement SDMs. In order to gain insight on the advantages and disadvantages between the paradigms we simulated a working group environment with seven researchers coming from various educational backgrounds where they had to implement a process-based SDM and fill in a questionnaire scoring characteristics of the paradigms and implementation process. The participants were divided into three groups according to their expertise: NAA, formed by procedural programming experts that performed the exercise in MATLAB®; OOA, formed by objected-oriented programming experts that performed the exercise in a C++ simulation framework; and GDA, the domain expert that performed the exercise in Vensim®. The approaches were ranked NAA > OOA > GDA for mathematical expressiveness, GDA > OOA > NAA for visual expressiveness, OOA > NAA = GDA for scalability and code reuse, and NAA = OOA > GDA for software integration. Based on the questionnaire and group discussions, a descriptive framework of what should be considered to identify the most appropriate implementation strategy for a SDM was developed. We suggest that the choice of what strategy to use should be driven by a combination of variables related to the model characteristics, group member's expertise and the properties intrinsic to each programming paradigm. Further research is needed to extend the analysis of how the decision on the paradigms should be related to the SDM characteristics, the time available, and the modeling group member's expertise.bitstream/item/117682/1/Livro-BolPesq36.pd

    30 Years of Software Refactoring Research: A Systematic Literature Review

    Full text link
    Peer Reviewedhttps://deepblue.lib.umich.edu/bitstream/2027.42/155872/4/30YRefactoring.pd

    30 Years of Software Refactoring Research:A Systematic Literature Review

    Full text link
    Due to the growing complexity of software systems, there has been a dramatic increase and industry demand for tools and techniques on software refactoring in the last ten years, defined traditionally as a set of program transformations intended to improve the system design while preserving the behavior. Refactoring studies are expanded beyond code-level restructuring to be applied at different levels (architecture, model, requirements, etc.), adopted in many domains beyond the object-oriented paradigm (cloud computing, mobile, web, etc.), used in industrial settings and considered objectives beyond improving the design to include other non-functional requirements (e.g., improve performance, security, etc.). Thus, challenges to be addressed by refactoring work are, nowadays, beyond code transformation to include, but not limited to, scheduling the opportune time to carry refactoring, recommendations of specific refactoring activities, detection of refactoring opportunities, and testing the correctness of applied refactorings. Therefore, the refactoring research efforts are fragmented over several research communities, various domains, and objectives. To structure the field and existing research results, this paper provides a systematic literature review and analyzes the results of 3183 research papers on refactoring covering the last three decades to offer the most scalable and comprehensive literature review of existing refactoring research studies. Based on this survey, we created a taxonomy to classify the existing research, identified research trends, and highlighted gaps in the literature and avenues for further research.Comment: 23 page

    MIDST: an enhanced development environment that improves the maintainability of a data science analysis

    Get PDF
    With the increasing ability to generate actionable insight from data, the field of data science has seen significant growth. As more teams develop data science solutions, the analytical code they develop will need to be enhanced in the future, by an existing or a new team member. Thus, the importance of being able to easily maintain and enhance the code required for an analysis will increase. However, to date, there has been minimal research on the maintainability of an analysis done by a data science team. To help address this gap, data science maintainability was explored by (1) creating a data science maintainability model, (2) creating a new tool, called MIDST (Modular Interactive Data Science Tool), that aims to improve data science maintainability, and then (3) conducting a mixed method experiment to evaluate MIDST. The new tool aims to improve the ability of a team member to update and rerun an existing data science analysis by providing a visual data flow view of the analysis within an integrated code and computational environment. Via an analysis of the quantitative and qualitative survey results, the experiment found that MIDST does help improve the maintainability of an analysis. Thus, this research demonstrates the importance of enhanced tools to help improve the maintainability of data science projects

    A systematic literature review of machine learning techniques for software maintainability prediction

    Get PDF
    Context: Software maintainability is one of the fundamental quality attributes of software engineering. The accurate prediction of software maintainability is a significant challenge for the effective management of the software maintenance process. Objective: The major aim of this paper is to present a systematic review of studies related to the prediction of maintainability of object-oriented software systems using machine learning techniques. This review identifies and investigates a number of research questions to comprehensively summarize, analyse and discuss various viewpoints concerning software maintainability measurements, metrics, datasets, evaluation measures, individual models and ensemble models. Method: The review uses the standard systematic literature review method applied to the most common computer science digital database libraries from January 1991 to July 2018. Results: We survey 56 relevant studies in 35 journals and 21 conference proceedings. The results indicate that there is relatively little activity in the area of software maintainability prediction compared with other software quality attributes. CHANGE maintenance effort and the maintainability index were the most commonly used software measurements (dependent variables) employed in the selected primary studies, and most made use of class-level product metrics as the independent variables. Several private datasets were used in the selected studies, and there is a growing demand to publish datasets publicly. Most studies focused on regression problems and performed k-fold cross-validation. Individual prediction models were employed in the majority of studies, while ensemble models relatively rarely. Conclusion: Based on the findings obtained in this systematic literature review, ensemble models demonstrated increased accuracy prediction over individual models, and have been shown to be useful models in predicting software maintainability. However, their application is relatively rare and there is a need to apply these, and other models to an extensive variety of datasets with the aim of improving the accuracy and consistency of results

    IDENTIFICATION AND QUANTIFICATION OF VARIABILITY MEASURES AFFECTING CODE REUSABILITY IN OPEN SOURCE ENVIRONMENT

    Get PDF
    Open source software (OSS) is one of the emerging areas in software engineering, and is gaining the interest of the software development community. OSS was started as a movement, and for many years software developers contributed to it as their hobby (non commercial purpose). Now, OSS components are being reused in CBSD (commercial purpose). However, recently, the use of OSS in SPL is envisioned recently by software engineering researchers, thus bringing it into a new arena. Being an emerging research area, it demands exploratory study to explore the dimensions of this phenomenon. Furthermore, there is a need to assess the reusability of OSS which is the focal point of these disciplines (CBSE, SPL, and OSS). In this research, a mixed method based approach is employed which is specifically 'partially mixed sequential dominant study'. It involves both qualitative (interviews) and quantitative phases (survey and experiment). During the qualitative phase seven respondents were involved, sample size of survey was 396, and three experiments were conducted. The main contribution of this study is results of exploration of the phenomenon 'reuse of OSS in reuse intensive software development'. The findings include 7 categories and 39 dimensions. One of the dimension factors affecting reusability was carried to the quantitative phase (survey and experiment). On basis of the findings, proposal for reusability attribute model was presented at class and package level. Variability is one of the newly identified attribute of reusability. A comprehensive theoretical analysis of variability implementation mechanisms is conducted to propose metrics for its assessment. The reusability attribute model is validated by statistical analysis of I 03 classes and 77 packages. An evolutionary reusability analysis of two open source software was conducted, where different versions of software are analyzed for their reusability. The results show a positive correlation between variability and reusability at package level and validate the other identified attributes. The results would be helpful to conduct further studies in this area

    Effective Control System Framework Selection through Checklist-based Software Quality Evaluation

    Get PDF
    The Herzberg Astronomy and Astrophysics Research Centre (HAA) of the National Research Council (NRC) is Canada's premier center for astronomy and astrophysics. It maintains the largest and most powerful observatories in Canada and represents Canada at many of the world's leading astronomical events. In the context of my pursuit of a master's degree, a collaborative effort unfolded between HAA and myself, centered around the multifaceted project named ARTTA4. In the realm of control systems, the significance of prioritizing the evaluation of open-source software's quality is undeniable. This emphasis arises from the essential role that a thorough appraisal of these components plays in safeguarding the security, stability, and efficiency of such systems. Neglecting this assessment exposes control systems to a range of vulnerabilities, including bugs and compatibility concerns that could result in operational disruptions, security breaches, and potential risks across diverse industries. Ensuring the integrity and performance of control systems demands a rigorous approach to software quality assessment, serving to preempt unforeseen complications and bolstering the overall reliability and functionality of these systems. Through my engagement with HAA, I recognized the pivotal role of an open-source control system toolkit named Tango Controls in shaping their antenna control system. Consequently, a comprehensive evaluation of Tango Controls' software quality emerged as a vital undertaking for guaranteeing the ultimate dependability and maintainability of the resultant control system. Accordingly, we conducted a generalizable checklist-driven software quality assessment approach to examine Tango Controls. This evaluation brought to light three specific limitations within this open-source toolkit. This finding prompted me to investigate a substitute control system toolkit to replace Tango Control. Thus, we adopted a Component-based Software Development (CBSD) methodology to propose two potential substitute solutions. These alternatives were put into practice through the implementation of a control system module at HAA, in parallel with the utilization of Tango Controls. To quantify their efficacy, we used SonarQube to generate a static source code analysis report. Furthermore, we conducted an empirical comparison centered around the development process spanning all three methodologies. Drawing from empirical and quantitative analyses, it became evident that one of the proposed solutions outperformed Tango Controls in terms of efficacy and performance. In conclusion, this thesis stands as a pivotal stepping stone in the realm of open-source software selection for the development of industrial control systems. As we move forward, the path to fully realizing the potential of open-source technologies lies in sustained research efforts and collaborative endeavors. By delving into the criteria commonly referenced by industry practitioners, we can glean insights that refine the selection process. Furthermore, the introduction of a natural language processing-based tool holds promise in revolutionizing how we approach open-source software comparison and adoption. Such a tool aims to streamline the process by autonomously aggregating pertinent information from diverse online sources. Through this holistic approach, we aspire to foster an environment where open-source technologies are harnessed to their fullest extent, driving the evolution of industrial control systems and propelling technological advancement
    • …
    corecore