
Para maximizar la repetibilidad del proceso y minimizar la amenaza de validez, se ha utilizado un conjunto de criterios de inclusión y exclusión para ayudar a seleccionar los documentos relevantes para la encuesta. Otro aspecto investigado en su revisión son los sistemas utilizados en los experimentos para validar el planteamiento propuesto en los artículos. Enumeraron una cantidad menor de programas Java de código abierto probados, en 14, mientras que en este documento hay 40 programas diferentes utilizados para probar los enfoques en la literatura. También investigaron las herramientas utilizadas para la refactorización y encontraron que la herramienta CODe-Imp se usó en nueve de sus estudios, de manera similar a cómo 12 de los artículos analizados en este documento usaron la herramienta. Algunas revisiones recientes fueron más enfocadas y analizaron varios aspectos de la refactorización. Misbhauddin y Alshayeb analizaron la refactorización del modelo UML en 2015 (Misbhauddin Aunque tenía la posibilidad de quedar atrapado en óptimos locales, la técnica dio resultados consistentes y fue más rápida que otras técnicas que tomarían tiempo para ganar tracción.
Los cuatro tipos de mantenimiento de software
¿Qué son las herramientas de mantenimiento de software?
Las herramientas de mantenimiento de software son programas utilizados por los ingenieros de software para aumentar su productividad para recopilar datos, detectar errores y administrar su software.
Utilizaron cuatro sistemas Java de código abierto en la experimentación junto con un sistema industrial proporcionado por Ford Motor Company. Compararon la técnica con otros enfoques observando hasta siete objetivos, utilizando objetivos de trabajos anteriores para observar la coherencia semántica del código y el historial de desarrollo junto con los objetivos estructurales. Una vez más, el enfoque superó a las otras técnicas y más del 92% de los olores de código se corrigieron en cada uno de los sistemas de código abierto. La serie de tiempo se utilizó para predecir cuántos olores de código potenciales aparecerían en futuras versiones del software con la solución seleccionada aplicada.
Esto también se aplaca un poco con el enfoque de bola de nieve utilizado, de modo que es probable que se encuentren otros artículos potencialmente relacionados independientemente. Por último, el proceso utilizado para buscar y seleccionar artículos relevantes de los resultados de la búsqueda podría afectar el análisis, dependiendo de los artículos que se elijan investigar.
Facility Maintenance Management Software 2019 – Global Sales, Price, Revenue, Gross Margin And Market Share Forecast – EIN News
Facility Maintenance Management Software 2019 – Global Sales, Price, Revenue, Gross Margin And Market Share Forecast.
Posted: Sun, 20 Dec 2020 11:48:00 GMT [source]
Los resultados experimentales se compararon con los enfoques monoobjetivo y multiobjetivo anteriores y se encontró que tenían mejores resultados con menos refactorizaciones, pero también tardaron más en ejecutarse. También exploraron el efecto de utilizar el historial de refactorización en la preservación de la semántica. La experimentación adicional en proyectos Java de código abierto mostró una ligera mejora en los valores de calidad y la preservación de la semántica con estas consideraciones adicionales.
Los cuatro tipos de mantenimiento de software
Luego, uno de los objetivos se midió minimizando el número de olores de código en la versión actual del software y los olores de código estimados en versiones futuras del software. El otro objetivo apuntaba a minimizar el número de refactorizaciones necesarias para mejorar el software. El enfoque se probó en cuatro programas Java de código abierto y un proyecto Java industrial. Los programas se eligieron en función del número de versiones anteriores del software disponibles, ya que el éxito del enfoque dependería de esta información.
El enfoque se probó en seis programas de código abierto y se comparó con los enfoques mono y multiobjetivo existentes, así como con un enfoque de refactorización manual. Los usuarios consideraron que la mayoría de las refactorizaciones sugeridas eran factibles, eficientes en términos genograma.top de mejorar la calidad del diseño y tenían sentido. En comparación con los otros enfoques monoobjetivo y multiobjetivo, las sugerencias de refactorización dieron puntajes similares pero requirieron menos esfuerzo y menos interacciones con el diseñador para evaluar las soluciones.
- Se describen las técnicas de mantenimiento actuales para la exploración de programas, la documentación de software y el análisis de programas, así como las herramientas de mantenimiento de software asistidas por ordenador disponibles comercialmente.
- Se describen técnicas para mejorar la capacidad de mantenimiento del software, como reestructuración, reingeniería, ingeniería inversa y enfoque de programación defensiva, y técnicas para aumentar la productividad de mantenimiento de programas futuros.
- Se discuten los criterios de selección para elegir estas técnicas de mantenimiento y algunas recomendaciones para la organización del mantenimiento.
- Antes de examinar los artículos, se discuten y describen rápidamente las técnicas de búsqueda más comunes utilizadas en los estudios.
Kessentini, Mahaouachi y Ghedira ampliaron el enfoque original utilizando ejemplos de buen diseño de código para ayudar a proponer secuencias de refactorización para mejorar la estructura del código. En lugar de generar reglas de refactorización para detectar defectos de diseño y luego usarlas para generar secuencias de refactorización con un GA, utilizaron un GA directamente para medir la similitud entre el código del sujeto y el código bien diseñado. de código, permitiendo que las secuencias de refactorización derivadas eliminen los olores del código. Las reglas se componen de una combinación de métricas de diseño para detectar instancias de blob, código espagueti o defectos de diseño de descomposición funcional. Antes de que se usara la GA, un enfoque de GP experimentó con reglas diferentes que pueden reproducir el conjunto de ejemplo de defectos de diseño, con las reglas más precisas que se devuelven. Una vez que se derivó un conjunto de reglas, podrían usarse para detectar la cantidad de defectos en el enfoque de corrección. Luego, el GA podría usarse para encontrar secuencias de refactorizaciones que reduzcan el número de defectos de diseño en el programa.
Los SA y GA podrían dar resultados de alta calidad en ciertos casos, pero para ambas técnicas, los resultados dependen en gran medida de la configuración de la búsqueda de antemano. Sin embargo, dado que este es el único estudio que utiliza la técnica ABC, no se pueden obtener más conocimientos sobre la técnica a partir de la literatura. La Tabla 10 en el apéndice muestra las técnicas de búsqueda, si las hay, utilizadas en cada artículo. Amal y col. utilizó una red neuronal software transportes artificial para ayudar a su enfoque a elegir entre soluciones de refactorización. Aplicaron un GA con una lista de 11 posibles refactorizaciones para generar soluciones de refactorización que consisten en listas de refactorizaciones sugeridas para reestructurar el diseño del programa. La ANN utilizó estos ejemplos como un conjunto de entrenamiento con el fin de desarrollar un modelo predictivo para evaluar las soluciones de refactorización para las iteraciones restantes.
Las mejoras realizadas en estos casos fueron tan buenas como las realizadas cuando se dispuso de refactorizaciones anteriores para el proyecto en cuestión. Ouni y col. reemplazó el GA utilizado en el enfoque de corrección de olor del código con un GA multiobjetivo (NSGA-II). Utilizaron la función de objetivo camasconpalets.com anterior para minimizar los defectos de diseño como uno de los dos objetivos separados para impulsar la búsqueda. El segundo objetivo utilizó una medida del esfuerzo necesario para aplicar la secuencia de refactorización, y los autores asignaron a cada tipo de refactorización un valor de esfuerzo.