Articulo de referencia

CodeScene

CodeScene es una plataforma de inteligencia para la ingeniería de software que combina métricas de calidad de código con análisis de comportamiento del código. Proporciona visua...

CodeScene es una plataforma de inteligencia para la ingeniería de software que combina métricas de calidad de código con análisis de comportamiento del código. Proporciona visualizaciones basadas en datos de control de versiones y algoritmos de aprendizaje automático que identifican patrones sociales y riesgos ocultos en el código fuente. [ 1 ]

CodeScene ofrece diversas funcionalidades que facilitan el mantenimiento y la evolución del software en entornos de desarrollo a gran escala. La plataforma proporciona indicadores de rendimiento prácticos que ayudan a las organizaciones de software a identificar riesgos y cuellos de botella. El equipo de investigación de CodeScene emplea un enfoque basado en la evidencia para validar la relación entre estos indicadores y variables críticas para el negocio, como la velocidad de desarrollo y la densidad de defectos .

La plataforma utiliza su métrica de Salud del Código para evaluar la mantenibilidad del código fuente. Otra característica importante es el concepto de puntos críticos , que son áreas del código que se modifican con frecuencia. Este concepto se inspira en el perfil geográfico, una técnica utilizada en investigaciones criminales, lo cual se refleja en el nombre de CodeScene.

Al centrarse en mejorar la calidad del código en los puntos críticos, CodeScene busca ayudar a las organizaciones de desarrollo de software a priorizar la mitigación de la deuda técnica . Este enfoque pretende mejorar la mantenibilidad y la calidad de los proyectos de software.

Historia

CodeScene se basa en las ideas del libro Your Code As A Crime Scene: Use Forensic Techniques to Arrest Defects, Bottlenecks, and Bad Design in Your Programs [ 2 ] del fundador de CodeScene, Adam Tornhill.

La primera versión de CodeScene se lanzó en 2016, [ 3 ] y la versión actual es la 6.8, que incluye informes PDF autogenerados, métricas de salud del código arquitectónico, puertas de calidad para las canalizaciones de compilación y puede asignar costos a los puntos críticos. [ 4 ]

En enero de 2021, CodeScene recaudó 30.000.000 kr de Inventure y Luminar para expandir su negocio. [ 5 ] En agosto de 2023, CodeScene también recaudó 7,5 millones de euros en una ronda de financiación liderada por Neqst. [ 6 ] [ 7 ] 

Descripción general

CodeScene mide la calidad del código utilizando su métrica de Salud del Código. La Salud del Código se centra en la dificultad cognitiva que supone para los desarrolladores humanos comprender un fragmento de código fuente. La métrica se alinea con la idea de que la mejor estrategia para evaluar la calidad del código es agregar un conjunto de atributos de complejidad específicos. [ 8 ] CodeScene analiza el código fuente para identificar la presencia de malos olores de código establecidos, por ejemplo, "Clase Dios", "Métodos Dios" y "Código duplicado". La presencia de malos olores de código se combina en un valor numérico entre 1 y 10. El extremo inferior representa una mantenibilidad extremadamente deficiente, y el extremo superior indica un código de primera categoría que es fácil de mantener. CodeScene categoriza los archivos en uno de tres subintervalos: saludable (9 o más), advertencia (entre 4 y 9) y alerta (menos de 4).

CodeScene incluye soporte para los siguientes lenguajes de programación: C , C++ , C# , Java , Groovy , JavaScript , TypeScript , Objective-C , Scala , Python , Swift , Go , Kotlin , Visual Basic .Net , PHP , Perl 5 , Dart , Erlang , Ruby , React , ECMAScript , Vue.js , Rational Software Architect Models , Clojure , PowerShell , TCL , Apex , Elixir , Rust y BrightScript . [ 9 ]

La versión de CodeScene como software como servicio está disponible de forma gratuita para proyectos de código abierto. [ 10 ] CodeScene también está disponible en una versión local que incluye funciones más avanzadas, como soporte para integración continua , integración con Jira para cálculos de costos y simulaciones de incorporación y desvinculación .

Investigación científica e impacto

CodeScene se fundamenta en la investigación empírica en ingeniería de software . La empresa contribuye activamente a la comunidad académica mediante proyectos de investigación conjuntos, la publicación de artículos científicos, la organización de eventos académicos y la participación en servicios de revisión por pares. Algunos ejemplos de grandes colaboraciones de investigación financiadas con fondos públicos incluyen el proyecto europeo Eureka ITEA3 TESTOMAT, el centro de competencias NextG2Com, respaldado por Vinnova , y el proyecto SESAM, financiado por la Fundación Sueca del Conocimiento.

La mayor parte de la investigación académica sobre CodeScene se ha centrado en validar su métrica CodeHealth. Esta métrica se ha estudiado exhaustivamente para evaluar su eficacia en la identificación de problemas de mantenibilidad del software. La misión de investigación de CodeScene busca considerar la calidad del código fuente como una cuestión empresarial, no solo un aspecto técnico. El método de investigación principal utilizado por CodeScene consiste en la minería de repositorios de software mediante archivos de registro anónimos obtenidos del análisis estático de programas de proyectos propietarios. Este enfoque contrasta con la mayoría de los estudios de minería de ingeniería de software, que suelen basarse en repositorios de software de código abierto .

Algunos ejemplos de hallazgos de estudios empíricos de CodeScene incluyen:

  • Existen diferencias significativas entre los archivos con un nivel bajo y alto de CodeHealth. Los archivos con un nivel de alerta de CodeHealth contienen 15 veces más defectos que los archivos sanos. Además, la resolución de problemas en el código con nivel de alerta requiere, en promedio, un 124 % más de tiempo de desarrollo, y la resolución de problemas en dicho código está plagada de incertidumbre, ya que implica tiempos de ciclo máximos nueve veces mayores. [ 11 ]
  • La creación de valor de una organización de desarrollo de software varía a lo largo del espectro de CodeHealth, con fuertes no linealidades en los extremos del espectro. Este estudio, que recibió el premio al mejor artículo en la Conferencia Internacional sobre Deuda Técnica de 2024, indica que el retorno de la inversión en la refactorización de código se amplifica en el extremo superior de CodeHealth. [ 12 ]
  • CodeHealth supera a las métricas de mantenibilidad de la competencia en una prueba comparativa con datos reales obtenidos por expertos humanos. La métrica supera la calificación de mantenibilidad de SonarQube y el índice de mantenibilidad de Microsoft, y también supera al experto humano promedio. La bajísima tasa de falsos positivos de CodeHealth la hace especialmente fiable para guiar las decisiones de refactorización. [ 13 ]
  • Los nuevos miembros del equipo se enfrentan a desafíos particulares al trabajar con código fuente de nivel de alerta, requiriendo un 45 % más de tiempo para pequeños cambios y un 93 % más de tiempo para grandes cambios en código fuente de baja calidad. Este hallazgo pone de relieve los desafíos adicionales que enfrentan los desarrolladores recién incorporados en entornos con una elevada deuda técnica. [ 14 ]
  • Existe una fuerte correlación entre CodeHealth y el número total de vulnerabilidades de seguridad. Este estudio fue realizado por investigadores independientes radicados en Egipto . [ 15 ]

Recepción

CodeScene apareció en el ThoughtWorks Technology Radar [ 16 ] como una herramienta de análisis de código social.

Los usuarios de CodeScene informan que CodeScene es "La forma correcta de gestionar la deuda técnica", "Un nuevo estándar para el aseguramiento de la calidad" y proporciona "Información nunca antes vista". [ 17 ]

La versión gratuita de CodeScene se utiliza para visualizar los estudios de caso del libro de Adam Tornhill, Software Design X-Rays: Fix Technical Debt with Behavioral Code Analysis . [ 18 ]

Referencias

  1. Tornhill, Adam (2018). «Evaluación de la deuda técnica en pruebas automatizadas con CodeScene». 2018 IEEE International Conference on Software Testing, Verification and Validation Workshops (ICSTW) . pp. 122–125 . doi : 10.1109/ICSTW.2018.00039 . ISBN  978-1-5386-6352-3.
  2. Tornhill, Adam (2015). Tu código como escena del crimen: Usa técnicas forenses para detectar defectos, cuellos de botella y malos diseños en tus programas . Raleigh, Carolina del Norte: Pragmatic Bookshelf. ISBN 978-1680500387.
  3. Tornhill, Adam. "CodeScene: Los tres primeros años" . CodeScene AB . Consultado el 23 de octubre de 2018 .
  4. "CodeScene 4.0: El amanecer de una nueva interfaz de usuario" . CodeScene AB .
  5. ^ "De förutspår felaktig kod med hjälp av ai - tar en 30 millones" . Digitales . 17 de enero de 2021.
  6. "Neqst Investments" . Neqst .
  7. "CodeScene recauda 7,5 millones de euros en una ronda de financiación" . CodeScene AB .
  8. Fenton, N. (1994). "Medición de software: una base científica necesaria". IEEE Transactions on Software Engineering . 20 (3): 199– 206. Bibcode : 1994ITSEn..20..199F . doi : 10.1109/32.268921 .
  9. "Lenguajes de programación compatibles" . CodeScene . CodeScene AB . Consultado el 24 de octubre de 2019 .
  10. "Planes de precios de CodeScene" . Consultado el 6 de diciembre de 2024 .
  11. Tornhill, Adam; Borg, Markus (2022). «Código rojo: El impacto empresarial de la calidad del código: un estudio cuantitativo de 39 bases de código de producción propietarias». Actas de la 5.ª Conferencia Internacional sobre Deuda Técnica . págs. 11-20 . doi : 10.1145/3524843.3528091 . ISBN  978-1-4503-9304-1.
  12. Borg, Markus; Pruvost, Ilyana; Mones, Enys; Tornhill, Adam (2024). «Aumentando, no disminuyendo: Investigando los beneficios del código altamente mantenible». Actas de la 7.ª Conferencia Internacional ACM/IEEE sobre Deuda Técnica . págs. 21-30 . doi : 10.1145/3644384.3644471 . ISBN  979-8-4007-0590-8.
  13. Borg, Markus; Ezzouhri, Marwa; Tornhill, Adam; Tornhill, Adam (2024). «Aumentando, no disminuyendo: Ecos fantasma revelados: Comparación de métricas de mantenibilidad y predicciones de aprendizaje automático con evaluaciones humanas». Actas de la 40.ª Conferencia Internacional sobre Mantenimiento y Evolución del Software . págs. 678–688 . doi : 10.1109/ICSME58944.2024.00072 . ISBN  979-8-3503-9568-6.
  14. Borg, Markus; Tornhill, Adam; Mones, Enys (2023). «U Owns the Code That Changes and How Marginal Owners Resolve Issues Slower in Low-Quality Source Code». Actas de la 27.ª Conferencia Internacional sobre Evaluación y Valoración en Ingeniería de Software . págs. 368–377 . doi : 10.1145/3593434.3593480 . ISBN  979-8-4007-0044-6.
  15. Al-Boghdady, Abdullah; Wassif, Khaled; El-Ramly, Mohammad (2021). "La presencia, tendencias y causas de vulnerabilidades de seguridad en los sistemas operativos de dispositivos IoT de gama baja" . Sensors . 21 (7): 2329. Bibcode : 2021Senso..21.2329A . doi : 10.3390/ s21072329 . PMC 8037610. PMID 33810605 .  
  16. "Análisis del código social" . Thoughtworks Tech Radar . Thoughtworks, Inc. Consultado el 23 de octubre de 2018 .
  17. "Reseñas y precios de CodeScene" . Capterra . Consultado el 24 de octubre de 2019 .
  18. Tornhill, Adam (2018). Software Design X-Rays: Fix Technical Debt With Behavioral Code Analysis . Raleigh, Carolina del Norte: Pragmatic Bookshelf. ISBN 978-1680502725.
  • CodeScene
  • CodeScene Cloud
Obtenido de " https://en.wikipedia.org/w/index.php?title=CodeScene&oldid=1334024674 "