64,161 research outputs found

    A Large-Scale Study on the Usage of Testing Patterns that Address Maintainability Attributes (Patterns for Ease of Modification, Diagnoses, and Comprehension)

    Full text link
    Test case maintainability is an important concern, especially in open source and distributed development environments where projects typically have high contributor turnover with varying backgrounds and experience, and where code ownership changes often. Similar to design patterns, patterns for unit testing promote maintainability quality attributes such as ease of diagnoses, modifiability, and comprehension. In this paper, we report the results of a large-scale study on the usage of four xUnit testing patterns which can be used to satisfy these maintainability attributes. This is a first-of-its-kind study which developed automated techniques to investigate these issues across 82,447 open source projects, and the findings provide more insight into testing practices in open source projects. Our results indicate that only 17% of projects had test cases, and from the 251 testing frameworks we studied, 93 of them were being used. We found 24% of projects with test files implemented patterns that could help with maintainability, while the remaining did not use these patterns. Multiple qualitative analyses indicate that usage of patterns was an ad-hoc decision by individual developers, rather than motivated by the characteristics of the project, and that developers sometimes used alternative techniques to address maintainability concerns.Comment: Mining Software Repositories (MSR) 2017 Research Trac

    The safety case and the lessons learned for the reliability and maintainability case

    Get PDF
    This paper examine the safety case and the lessons learned for the reliability and maintainability case

    Evaluating Maintainability Prejudices with a Large-Scale Study of Open-Source Projects

    Full text link
    Exaggeration or context changes can render maintainability experience into prejudice. For example, JavaScript is often seen as least elegant language and hence of lowest maintainability. Such prejudice should not guide decisions without prior empirical validation. We formulated 10 hypotheses about maintainability based on prejudices and test them in a large set of open-source projects (6,897 GitHub repositories, 402 million lines, 5 programming languages). We operationalize maintainability with five static analysis metrics. We found that JavaScript code is not worse than other code, Java code shows higher maintainability than C# code and C code has longer methods than other code. The quality of interface documentation is better in Java code than in other code. Code developed by teams is not of higher and large code bases not of lower maintainability. Projects with high maintainability are not more popular or more often forked. Overall, most hypotheses are not supported by open-source data.Comment: 20 page

    Maintainability of manned spacecraft for long-duration flights. Volume 1 - Summary report

    Get PDF
    Maintainability of manned spacecraft for long duration flight

    Applying Design for Assembly Principles in Computer Aided Design to Make Small Changes that Improve the Efficiency of Manual Aircraft Systems Installations

    Get PDF
    The installation of essential systems into aircraft wings involves numerous labour-intensive processes. Many human operators are required to perform complex manual tasks over long periods of time in very challenging physical positions due to the limited access and confined space. This level of human activity in poor ergonomic conditions directly impacts on speed and quality of production but also, in the longer term, can cause costly human resource problems from operators' cumulative development of musculoskeletal injuries. These problems are exacerbated in areas of the wing which house multiple systems components because the volume of manual work and number of operators is higher but the available space is reduced.To improve the efficiency of manual work processes which cannot yet be automated we therefore need to consider how we might redesign systems installations in the enclosed wing environment to better enable operator access and reduce production time.This paper describes a recent study that applied design for assembly and maintainability principles and CATIA v5 computer aided design software to identify small design changes for wing systems installation tasks. Results show positive impacts for ergonomics, production time and cost, and maintainability, whilst accounting for aircraft performance and machining capabilities

    Measuring the Quality of Machine Learning and Optimization Frameworks

    Get PDF
    Software frameworks are daily and extensively used in research, both for fundamental studies and applications. Researchers usually trust in the quality of these frameworks without any evidence that they are correctly build, indeed they could contain some defects that potentially could affect to thousands of already published and future papers. Considering the important role of these frameworks in the current state-of-the-art in research, their quality should be quantified to show the weaknesses and strengths of each software package. In this paper we study the main static quality properties, defined in the product quality model proposed by the ISO 25010 standard, of ten well-known frameworks. We provide a quality rating for each characteristic depending on the severity of the issues detected in the analysis. In addition, we propose an overall quality rating of 12 levels (ranging from A+ to D-) considering the ratings of all characteristics. As a result, we have data evidence to claim that the analysed frameworks are not in a good shape, because the best overall rating is just a C+ for Mahout framework, i.e., all packages need to go for a revision in the analysed features. Focusing on the characteristics individually, maintainability is by far the one which needs the biggest effort to fix the found defects. On the other hand, performance obtains the best average rating, a result which conforms to our expectations because frameworks’ authors used to take care about how fast their software runs.University of Malaga. Campus de Excelencia Internacional Andalucía Tech. We would like to say thank you to all authors of these frameworks that make research easier for all of us. This research has been partially funded by CELTIC C2017/2-2 in collaboration with companies EMERGYA and SECMOTIC with contracts #8.06/5.47.4997 and #8.06/5.47.4996. It has also been funded by the Spanish Ministry of Science and Innovation and /Junta de Andalucı́a/FEDER under contracts TIN2014-57341-R and TIN2017-88213-R, the network of smart cities CI-RTI (TIN2016-81766-REDT

    Generic approach for deriving reliability and maintenance requirements through consideration of in-context customer objectives

    Get PDF
    Not all implementations of reliability are equally effective at providing customer and user benefit. Random system failure with no prior warning or failure accommodation will have an immediate, usually adverse impact on operation. Nevertheless, this approach to reliability, implicit in measurements such as ‘failure rate’ and ‘MTBF’, is widely assumed without consideration of potential benefits of pro-active maintenance. Similarly, it is easy to assume that improved maintainability is always a good thing. However, maintainability is only one option available to reduce cost of ownership and reduce the impact of failure. This paper discusses a process for deriving optimised reliability and maintenance requirements through consideration of in-context customer objectives rather than a product in isolation
    corecore