7 research outputs found

    Software Ageing Measurement Model (SAMM): An Instrument Development

    Get PDF
    The rapid expansion in software development forced the owners and developers of a software to develop a good quality software and relevant for use in a long period of time without affecting the operation and high maintenance cost. There should be a standard measurement or indicator to monitor relevance level of the software from internal and external views of the product. Software ageing measurement is an effort to help the owners of the software to monitor the level of relevance of the application software that has been developed and operated in certain environment. This study aims to develop software ageing measurement model and therefore, the instrument for measuring the ageing should be developed as the input to identify the quality status and relevancy of the measured software. There are 3 phases in developing software ageing measurement instrument: development of measurement requirement, development of the instrument items and instrument validation. After all the processes have been implemented, the instrument is finalized and readied to be used in software ageing measurement model. In this study, the instrument was developed based on the Software Ageing Factors Hierarchical (SAFH) Framework. The measurement in the instrument uses Likert scales as the numerical values

    Старіння програмного забезпечення в контексті його надійності: огляд проблематики

    Get PDF
    This paper presents the review and analysis of literary sources devoted to the study of the software aging phenomenon. The aging process is characterized as performance deterioration and increase of failure rate that has a negative impact on the software reliability. The study has found that software errors and their accumulation during program execution were the cause of the aging software. The basic concepts and characteristics related to the phenomenon of aging, such as effects, factors and aging metrics, time to resource exhaustion, time to aging-related failure and workload are determined. One of the software aging characteristics determines that it can be removed or delayed by external intervention. The technique of prevention and delay of aging is called software rejuvenation. The paper considered a common set of factors that is characteristic of all systems and the phenomenon of aging in general. The factors can be classified into two following types: external, such as software errors and code metrics, and external, such as environment, human and functional. The important task is to identify specific factors for specific systems, in particular, mobile platforms. The study reviewed and compared the main methods and approaches to study and modeling of software aging process. Aging phenomenon is studied at the theoretical level using analytical models and at the empirical level using data analysis. The paper states that the hybrid approaches could be used in researches because they incorporate the benefits of approaches based on analytical models and on measurements. Aging characteristics indicate that mobile operating systems and applications exposed to aging and there is a need to study this phenomenon in order to ensure the reliability of modern software. Mobile systems are vulnerable to manifestations of aging effects, since they work for a long time without rebooting and have a limited amount of resources, such as memory. To sum up, it is necessary to continue research of the mobile software aging, in particular to identify the aging factors of mobile applications and explore the application of methods and models for mobile systems.Проведено огляд та аналіз літературних джерел, в яких досліджено явища старіння програмного забезпечення. Процес старіння охарактеризовано як погіршення продуктивності і збільшення кількості відмов, що має негативний вплив на показники надійності програмного забезпечення. Встановлено, що помилки програмного забезпечення та їх накопичення протягом виконання програми є причиною виникнення старіння програмного забезпечення. Визначено основні поняття та характеристики, що стосуються явища старіння, зокрема ефекти, чинники та метрики старіння, час до виснаження ресурсів, час до відмови старіння та робоче навантаження. Розглянуто класифікацію чинників старіння програмного забезпечення. Встановлено, що чинники можуть бути загальні для всіх систем і спеціальні для конкретних систем, зокрема мобільних. Здійснено порівняльний аналіз основних методів та підходів до моделювання процесу старіння програмного забезпечення. З'ясовано, що розроблення гібридних підходів та моделей, які включають переваги аналітичних моделей та моделей на основі вимірювань, є перспективним напрямом у вивченні проблеми старіння ПЗ. Показано, що мобільні операційні системи та додатки є особливо чутливими до ефектів старіння, оскільки вони працюють тривалий час без перезавантаження та часто мають обмежені ресурси, такі як пам'ять. Обґрунтовано актуальність урахування впливу цього явища для забезпечення надійності сучасних мобільних і вбудованих систем

    User experienced software aging: test environment, testing and improvement suggestions

    Get PDF
    Software aging is empirically observed in software systems in a variety of manifestations ranging from slower performance to various failures as reported by users. Unlike hardware aging, where in its lifetime hardware goes through wear and tear resulting in an increased rate of failure after certain stable use conditions, software aging is a result of software bugs. Such bugs are always present in the software but may not make themselves known unless a set of preconditions are met. When activated, software bugs may result in slower performance and contribute to user dissatisfaction. However, the impact of software bugs on PCs and mobile phones is different as their uses are different. A PC is often turned off or rebooted on an average of every seven days, but a mobile device may continue to be used without a reboot for much longer. The prolonged operation period of mobile devices thus opens up opportunities for software bugs to be activated more often compared to PCs. Therefore, software aging in mobile devices, a considerable challenge to the ultimate user experience, is the focus of this thesis. The study was done in three consecutive phases: firstly, a test environment was set up; secondly, mobile device was tested as a human user would use under ordinary-use circumstances and finally, suggestions were made on future testing implementations. To this end, a LG Nexus 4 was setup in an automated test environment that simulates a regular user s use conditions and executes a set of human user use cases, and gathers data on consumption of power as well as reaction and response times in the various interactions. The results showed that an operating system agnostic test environment can be constructed with a limited number of equipment that is capable of simulating a regular user s use cases as a user would interact with a mobile device to measure user experienced software aging

    EMPIRICAL CHARACTERIZATION OF SOFTWARE QUALITY

    Get PDF
    The research topic focuses on the characterization of software quality considering the main software elements such as people, process and product. Many attributes (size, language, testing techniques etc.) probably could have an effect on the quality of software. In this thesis we aim to understand the impact of attributes of three P’s (people, product, process) on the quality of software by empirical means. Software quality can be interpreted in many ways, such as customer satisfaction, stability and defects etc. In this thesis we adopt ‘defect density’ as a quality measure. Therefore the research focus on the empirical evidences of the impact of attributes of the three P’s on the software defect density. For this reason empirical research methods (systematic literature reviews, case studies, and interviews) are utilized to collect empirical evidence. Each of this research method helps to extract the empirical evidences of the object under study and for data analysis statistical methods are used. Considering the product attributes, we have studied the size, language, development mode, age, complexity, module structure, module dependency, and module quality and their impact on project quality. Considering the process attributes, we have studied the process maturity and structure, and their impact on the project quality. Considering the people attributes, we have studied the experience and capability, and their impact on the project quality. Moreover, in the process category, we have studied the impact of one testing approach called ‘exploratory testing’ and its impact on the quality of software. Exploratory testing is a widely used software-testing practice and means simultaneous learning, test design, and test execution. We have analyzed the exploratory testing weaknesses, and proposed a hybrid testing approach in an attempt to improve the quality. Concerning the product attributes, we found that there exist a significant difference of quality between open and close source projects, java and C projects, and large and small projects. Very small and defect free modules have impact on the software quality. Different complexity metrics have different impact on the software quality considering the size. Product complexity as defined in Table 53 has partial impact on the software quality. However software age and module dependencies are not factor to characterize the software quality. Concerning the people attributes, we found that platform experience, application experience and language and tool experience have significant impact on the software quality. Regarding the capability we found that programmer capability has partial impact on the software quality where as analyst capability has no impact on the software quality. Concerning process attributes we found that there is no difference of quality between the project developed under CMMI and those that are not developed under CMMI. Regarding the CMMI levels there is difference of software quality particularly between CMMI level 1 and CMMI level 3. Comparing different process types we found that hybrid projects are of better quality than waterfall projects. Process maturity defined by (SEI-CMM) has partial impact on the software quality. Concerning exploratory testing, we found that exploratory testing weaknesses induce the testing technical debt therefore a process is defined in conjunction with the scripted testing in an attempt to reduce the associated technical debt of exploratory testing. The findings are useful for both researchers and practitioners to evaluate their project

    Envelhecimento e rejuvenescimento de software: 20 anos (19952014) - panorama e desafios

    Get PDF
    Although software aging and rejuvenation is a young research held, in its first 20 years a lot of knowledge has been produced. Nowadays, important scientific journals and conferences include SAR-related topics in their scope of interest. This fast growing and wide range of dissemination venues pose a challenge to researchers to keep tracking of the new findings and trends in this area. In this work, we collected and analyzed SAR research data to detect trends, patterns, and thematic gaps, in order to provide a comprehensive view of this research held over its hrst 20 years. Adopted the systematic mapping approach to answer research questions such as: How the main topics investigated in SAR have evolved over time? Which are the most investigated aging effects? Which rejuvenation techniques and strategies are more frequently used?CAPES - Coordenação de Aperfeiçoamento de Pessoal de Nível SuperiorDissertação (Mestrado)Embora o envelhecimento e rejuvenescimento de software seja um campo de pesquisa novo, em seus primeiros 20 anos muito conhecimento foi produzido. Hoje em dia, revistas e conferências científicas importantes incluem temas relacionados a SAR no seu âmbito de interesse. Este crescimento rápido e a grande variedade de locais de disseminação representam um desafio para os pesquisadores para manter o acompanhamento das novas descobertas e tendências nesta área. Neste trabalho, foram coletados e analisados dados de pesquisa em SAR para detectar tendências, padrões e lacunas temáticas, a hm de proporcionar uma visão abrangente deste campo de pesquisa em seus primeiros 20 anos. Adotou-se a abordagem de mapeamento sistemático para responder a perguntas de pesquisa, tais como: Como os principais temas investigados em SAR têm evoluído ao longo do tempo? Quais são os efeitos do envelhecimento mais investigados? Quais técnicas e estratégias de rejuvenescimento são mais frequentemente usadas

    Is software aging related to software metrics?

    No full text
    This work presents an empirical analysis aiming at investigating what kind of relationship exists between software aging and several static features of the software. While past studies on software aging focused on predicting the aging effects by monitoring and analytically modeling resource consumption at runtime, this study intends to explore if the static features of the software, as derived by its source code, presents potential relationships with software aging. We adopt a set of common software metrics concerning program structure, such as size and cyclomatic complexity, along with some features specifically developed for this study; metrics were then computed from ten complex software applications affected by aging. A statistical analysis to infer their relationship with software aging was carried out. Results encourage further investigations in this direction, since they show that software aging effects are related to the static features of software
    corecore