5,438 research outputs found
A research review of quality assessment for software
Measures were recommended to assess the quality of software submitted to the AdaNet program. The quality factors that are important to software reuse are explored and methods of evaluating those factors are discussed. Quality factors important to software reuse are: correctness, reliability, verifiability, understandability, modifiability, and certifiability. Certifiability is included because the documentation of many factors about a software component such as its efficiency, portability, and development history, constitute a class for factors important to some users, not important at all to other, and impossible for AdaNet to distinguish between a priori. The quality factors may be assessed in different ways. There are a few quantitative measures which have been shown to indicate software quality. However, it is believed that there exists many factors that indicate quality and have not been empirically validated due to their subjective nature. These subjective factors are characterized by the way in which they support the software engineering principles of abstraction, information hiding, modularity, localization, confirmability, uniformity, and completeness
Recommended from our members
Dissertation: Examining and investigating home modifications and smart home technologies to reduce fall injury among older adults.
Nearly one in six U.S. residents are over the age of 65. The proportion of older adults in the U.S. is anticipated to grow to 22.1% of the total population by 2050. The cost of treating age related conditions and injuries is expensive, government programs including Medicaid paid over $550 Billion in 2017, and makes up between 14-16% of the federal budget each year. With the high cost of treating age related conditions and injuries, and the proportion of older adults continuing to increase every year, it is imperative that researchers and government entities find and invest in preventative measures in order to reduce injury and related healthcare costs. Among the many age-related injuries older adults suffer, falls are arguably the most important to address. It is estimated that one in three older adults has a fall every year. In 2016, falls were the seventh leading cause of death among older adults. Approximately one third of all fallers require medical attention after experiencing a fall. Over 800,000 older adults are hospitalized each year due to fall related injuries. Injuries sustained as a result of a serious fall include various fractures, traumatic brain injuries, and other cuts and bruises.Home modifications, and more recently smart home technologies, can help increase the safety of older adults living in the community. With older adults wanting to “age in place”, installing these modifications and technologies before an accident happens may lower rates of injury. Today, dozens of companies sell various smart home devices for the consumer market. Bud despite the high demand for these technologies by the American consumer, the ability of these devices to keep older adults safe, and how older adults value these technologies, remains uncertain. These home technologies may be particularly beneficial to older adults living in rural areas due to the increased isolation and limited access to healthcare resources. Previous research indicates rural populations have a greater proportion of older adults compared to urban areas, yet lack the infrastructure to provide specialty care to this population. It is estimated that more than 60 million family members provide some sort of informal care to an older adult relative. Of all of these family members, nearly 40% report spending 20 or more hours a week providing this unpaid care. Previous research has failed to examine how these family members feel about home modifications and technologies for their older adult relative. Finding ways to ease the burden of caring for older family members will significantly better the situations of many family relatives.This dissertation aims to cover three areas. 1. Identify people at risk of suffering subsequent fall injuries. Find the average time between an initial fall injury and a subsequent fall injury, and find average time between an initial fall injury and death.2. Examine the preferences of older adults living in a rural area towards various smart home technologies and home modifications.3. Examine the preferences of family members of older adults regarding smart home technologies and home modifications
Evaluating defect prediction approaches: a benchmark and an extensive comparison
Reliably predicting software defects is one of the holy grails of software engineering. Researchers have devised and implemented a plethora of defect/bug prediction approaches varying in terms of accuracy, complexity and the input data they require. However, the absence of an established benchmark makes it hard, if not impossible, to compare approaches. We present a benchmark for defect prediction, in the form of a publicly available dataset consisting of several software systems, and provide an extensive comparison of well-known bug prediction approaches, together with novel approaches we devised. We evaluate the performance of the approaches using different performance indicators: classification of entities as defect-prone or not, ranking of the entities, with and without taking into account the effort to review an entity. We performed three sets of experiments aimed at (1) comparing the approaches across different systems, (2) testing whether the differences in performance are statistically significant, and (3) investigating the stability of approaches across different learners. Our results indicate that, while some approaches perform better than others in a statistically significant manner, external validity in defect prediction is still an open problem, as generalizing results to different contexts/learners proved to be a partially unsuccessful endeavo
Recommended from our members
An empirical study of package coupling in Java open-source
This thesis was submitted for the degree of Doctor of Philosophy and awarded by Brunel University.Excessive coupling between object-oriented classes in systems is generally acknowledged as harmful and is recognised as a maintenance problem that can result in a higher propensity for faults in systems and a „stored up‟ future problem. Characterisation and understanding coupling at different levels of abstraction is therefore important for both the project manager and developer both of whom have a vested interest in software quality. In this Thesis, coupling trends are empirically investigated over multiple versions of seven Java open-source systems (OSS). The first investigation explores the trends in longitudinal changes to open-source systems given by six coupling metrics. Coupling trends are then explored from the perspective of: the relationship between removed classes and their coupling with other classes in the same package; the relationships between coupling and 'warnings’ in packages and the time interval between versions in Java OSS; the relationship between some of these coupling metrics are also explored. Finally, the existence of an 80/20 rule for the coupling metrics is inspected. Results suggest that developer activity comprises a set of high and low periods (peak and trough‟ effect) evident as a system evolves. Findings also demonstrate that addition of coupling may have beneficial effects on a system, particularly if they are added as new functionality through the package Java feature. The fan-in and fan-out coupling metrics reveal particular features and exhibited a wide range of traits in the classes depending on their high or low values; finally, we revealed that one metric (fan-in) is the only metric that appears consistently to exhibit an 80/20 (Pareto) relationship
Analysis of Slice-Based Metrics for Aspect-Oriented Programs
To improve separation of concerns in software design and implementation, the technique of Aspect-Oriented Programming (AOP) was introduced. But AOP has a lot of features like aspects, advices, point-cuts, join-points etc., and because of these the usage of the existing intermediate graph representations is rendered useless. In our work we have defined a new intermediate graph representation for AOP. The construction of SDG is automated by analysing the bytecode of aspect-oriented programs that incorporates the representation of aspect-oriented features. After constructing the SDG, we propose a slicing algorithm that uses the intermediate graph and computes slices for a given AOP. Program slicing has numerous applications in software engineering activities like debugging, testing, maintenance, model checking etc. To implement our proposed slicing technique, we have developed a prototype tool that takes an AOP as input and compute its slices using our proposed slicing algorithm. To evaluate our proposed technique, we have considered some case studies by taking open source projects. The comparative study of our proposed slicing algorithm with some existing algorithms show that our approach is an efficient and scalable approach of slicing for different applications with respect to aspect-oriented programs. Software metrics are used to measure certain aspects of software. Using the slicing approach we have computed eight software metrics which quantitatively and qualitatively analyse the whole aspect project. We have compiled a metrics suite for AOP and an automated prototype tool is developed for helping the process of SDLC
Software Engineering Laboratory Series: Collected Software Engineering Papers
The Software Engineering Laboratory (SEL) is an organization sponsored by NASA/GSFC and created to investigate the effectiveness of software engineering technologies when applied to the development of application software. The activities, findings, and recommendations of the SEL are recorded in the Software Engineering Laboratory Series, a continuing series of reports that includes this document
- …