6 research outputs found

    La refactorización de software basada en valor : Revisión sistemática de la literatura

    Get PDF
    El mantenimiento del producto software es una de las fases que más costos tiene a lo largo de la vida de una aplicación software. La refactorización del código fuente es una de las técnicas utilizadas para intentar mejorar la mantenibilidad. Actualmente la refactorización se basa en un enfoque de “valor neutro”, siendo difícil priorizar la gran cantidad de opciones de refactorización que puede tener un producto software. Para cubrir estas carencias, una nueva rama de la ingeniería está emergiendo, la Ingeniería del Software Basada en Valor, estableciendo que las funcionalidades de un sistema tienen diferente grado de importancia, y que algunas de ellas aportan más “valor” que otras. Este artículo presenta una revisión sistemática de la literatura sobre la refactorización basada en valor. Se identificaron 15 artículos primarios de un total de 2300. Los trabajos analizados muestran el uso de diferentes técnicas para abordar el problema de la refactorización y el valor que pueden aportar al software que será refactorizado, existiendo opiniones opuestas sobre cómo afecta las refactorizaciones a la mantenibilidad. Como conclusión de la revisión se tiene que: ningún artículo habla directamente del valor ni se cuantifica el valor que puede aportar una refactorización al software sobre el que va a ser aplicada.Sociedad Argentina de Informática e Investigación Operativa (SADIO

    La refactorización de software basada en valor : Revisión sistemática de la literatura

    Get PDF
    El mantenimiento del producto software es una de las fases que más costos tiene a lo largo de la vida de una aplicación software. La refactorización del código fuente es una de las técnicas utilizadas para intentar mejorar la mantenibilidad. Actualmente la refactorización se basa en un enfoque de “valor neutro”, siendo difícil priorizar la gran cantidad de opciones de refactorización que puede tener un producto software. Para cubrir estas carencias, una nueva rama de la ingeniería está emergiendo, la Ingeniería del Software Basada en Valor, estableciendo que las funcionalidades de un sistema tienen diferente grado de importancia, y que algunas de ellas aportan más “valor” que otras. Este artículo presenta una revisión sistemática de la literatura sobre la refactorización basada en valor. Se identificaron 15 artículos primarios de un total de 2300. Los trabajos analizados muestran el uso de diferentes técnicas para abordar el problema de la refactorización y el valor que pueden aportar al software que será refactorizado, existiendo opiniones opuestas sobre cómo afecta las refactorizaciones a la mantenibilidad. Como conclusión de la revisión se tiene que: ningún artículo habla directamente del valor ni se cuantifica el valor que puede aportar una refactorización al software sobre el que va a ser aplicada.Sociedad Argentina de Informática e Investigación Operativa (SADIO

    Estimating Refactoring Efforts for Architecture Technical Debt

    Get PDF
    Paying-off the Architectural Technical Debt by refactoring the flawed code is important to control the debt and to keep it as low as possible. Project Managers tend to delay paying off this debt because they face difficulties in comparing the cost of the refactoring against the benefits they gain. For these managers to decide whether to refactor or to postpone, they need to estimate the cost and the efforts required to conduct these refactoring activities as well as to decide which flaws have higher priority to be refactored among others. Our research is based on a dataset used by other researchers in the technical debt field. It includes more than 18,000 refactoring operations performed on 33 apache java projects. To estimate the refactoring efforts done, we applied the COCOMO II:2000 model to calculate the refactoring cost in person-months units per release. Furthermore, we investigated the correlation between the refactoring efforts and two static code metrics of the refactored code, mainly, the LOC and the complexity. The research revealed a moderate correlation between the refactoring efforts and each one of the size of the project and code complexity. Finally, we applied the DesigniteJava tool and machine learning practices to verify our research results. From the analysis we found a significant correlation between the ranking of the architecture smells and the ranking of refactoring efforts for each package. Using machine learning practices, we took the architecture smells level and the code metrics of each release as an input to predict the levels of the refactoring effort of the next release. We calculated the results using our model and found that we can predict the higher refactoring cost levels with 93\% accuracy
    corecore