Intel libero el codigo fuente de ControlFlag un sistema de aprendizaje automático para detectar errores en el código

Intel dio a conocer mediante un anuncio los desarrollos relacionados con el proyecto de investigación ControlFlag, el cual está destinado a crear un sistema de aprendizaje automático para mejorar la calidad del código.

La herramienta se ha liberado bajo la licencia MIT y se destaca por permitir, a partir de un modelo entrenado sobre una gran cantidad de código existente, identificar diversos errores y anomalías en los textos fuente escritos en lenguajes de alto nivel como C/C ++.

El sistema es adecuado para detectar varios tipos de problemas en su código, desde detectar errores tipográficos y combinaciones incorrectas de tipos, hasta identificar comprobaciones faltantes para valores nulos en punteros y problemas con la memoria.

El sistema aprende por sí mismo mediante la construcción de un modelo estadístico de la matriz existente de código fuente abierto publicado en GitHub y repositorios públicos similares. En la etapa de entrenamiento, el sistema determina plantillas típicas para construir estructuras en el código y construye un árbol sintáctico de conexiones entre estas plantillas, reflejando el flujo de ejecución del código en el programa. Como resultado, se forma un árbol de decisiones de referencia, que combina la experiencia de desarrollo de todos los textos fuente analizados.

Para que ControlFlag esté más disponible para la comunidad de desarrollo de software en general, Intel se complace en anunciar que ControlFlag ahora es de código abierto y se puede acceder a él en https://ift.tt/3jl91Dt . Nos complace brindarles a los desarrolladores la oportunidad de desarrollar en él y ver qué más se puede hacer con esta tecnología extremadamente valiosa e innovadora.

Desde su introducción, ControlFlag se ha probado en software de nivel de producción y en sistemas de software de código abierto ampliamente utilizados. Por ejemplo, el año pasado, ControlFlag identificó una anomalía de código en Client URL (cURL), un proyecto de software informático que transfiere datos utilizando varios protocolos de red más de mil millones de veces al día . Después de informar la anomalía al equipo de cURL, estuvieron de acuerdo con los hallazgos de ControlFlag y posteriormente parchearon su código.

Se realiza un proceso similar de definición de patrones para el código bajo prueba, que se compara con un árbol de decisiones de referencia. Las grandes discrepancias con las ramas adyacentes indican una anomalía en el patrón que se está verificando. El sistema también permite no solo identificar un error en la plantilla, sino también sugerir una solución. Por ejemplo, al analizar el fragmento de código «if (x=7) y= x;» el sistema ha determinado que la construcción «variable==número» se usa generalmente en la instrucción «if» para comparar valores numéricos, por lo que la indicación «variable=número» en la instrucción «if» es probablemente causada por un error tipográfico.

Los analizadores estáticos tradicionales detectarían un error de este tipo, pero, a diferencia de ellos, ControlFlag no aplica reglas listas para usar, en las que es difícil prever todas las opciones posibles, sino que parte de las estadísticas del uso de todo tipo de construcciones en una gran cantidad de proyectos.

Como experimento, al usar ControlFlag en el código fuente de la utilidad cURL, que a menudo se cita como un ejemplo de código probado y de alta calidad, los analizadores estáticos revelaron un error inadvertido al usar el elemento de estructura «s-> keepon», que tenía un tipo numérico, pero se comparó con el valor booleano TRUE.

En el código OpenSSL, además del problema mencionado anteriormente con «(s1==NULL) ∧ (s2==NULL)», también se detectaron anomalías en las expresiones «(-2 == rv)» que menos fue un error tipográfico.

También se informa que el uso de ControlFlag hizo posible identificar varios cientos de errores en software propietario no específico, lo que provocó fallas y problemas con la memoria.

Finalmente si estás interesado en poder conocer más al respecto, puedes consultar los detalles en el siguiente enlace. En cuanto a los que estén interesados en poder ver el código fuente, obtenerlo o clonarlo en un repositorio, pueden hacerlo desde el siguiente enlace.

from Linux Adictos https://ift.tt/3nC2ZiQ
via IFTTT

Microsoft anuncio el lanzamiento estable de su navegador web «Edge» para Linux

Hace poco Microsoft dio a conocer mediante un anuncio el lanzamiento oficial de la primera versión estable de su nuevo navegador web «Edge» para Linux.

Este nuevo lanzamiento se basa en el motor de Chromium 95 (recientemente lanzado), Edge para Linux admite todas las funciones estándar disponibles anteriormente para Windows y macOS.

Dentro de las características incluidas se menciona la compatibilidad para conectarse a una cuenta de Microsoft, un modo para borrar selectivamente las cookies y eliminar varios datos de sesión cuando el navegador está cerrado, la capacidad de adjuntar anotaciones a las páginas, tres modos de bloqueo de rastreadores web y código para seguimiento de visitantes, sincronización entre dispositivos, modo parental, protección SmartScreen contra actividad maliciosa, pestañas verticales, agrupación de pestañas, colecciones, una interfaz para comparar precios en tiendas online y el modo «lector».

También se destaca que se encuentra en el navegador un modo experimental llamado «Super Duper Secure» el cual también está disponible si no se encuentra habilitado en la siguiente ruta «edge://flags #enable-super-duper-secure-mode», que deshabilita JIT y habilita mecanismos de protección de hardware no compatibles con JIT CET (Controlflow-Enforcement Technology), ACG (Arbitrary Code Guard) y CFG (Control Flow Guard) para procesos que procesan contenido web.

Para quienes desconocen del navegador debe saber que Microsoft comenzó a desarrollar una nueva versión del navegador Edge, traducida al motor Chromium y desarrollándose como un producto multiplataforma. Mientras trabajaba en un nuevo navegador, Microsoft se unió a la comunidad para desarrollar Chromium y comenzó a regresar al proyecto creado para las mejoras de Edge y la corrección de errores.

Por ejemplo, las mejoras relacionadas con las tecnologías para personas con discapacidades, el control de la pantalla táctil, la compatibilidad con la arquitectura ARM64, la capacidad de desplazamiento mejorada y el procesamiento multimedia se han transferido a Chromium. El backend D3D11 para ANGLE se ha optimizado y refinado, capas intermedias para traducir las llamadas de OpenGL ES a OpenGL, Direct3D 9/11, Desktop GL y Vulkan. El motor WebGL desarrollado por Microsoft es de código abierto.

¿Como instalar la versión estable de Edge para Linux?

Para quienes estén interesados en poder instalar la versión estable de Edge en su distribución deben saber que el repositorio que contiene el paquete «microsoft-edge-stable_95» tiene disponible al navegador solo en formatos rpm y deb para Fedora, openSUSE, Ubuntu y Debian.

En la nota de la versión, las compilaciones de Linux ahora están marcadas como oficiales, pero en el sitio principal del navegador, la plataforma Linux aún no está incluida en la cantidad de plataformas compatibles y para las distribuciones de Linux continúan ofreciendo versiones beta y dev para la instalación, por lo que de momento para poder obtener e instalar el paquete estable del navegador deben de seguir las instrucciones que compartimos a continuación.

En el primer caso para poder obtener en paquete .deb para utilizarlo en distribuciones con soporte para este tipo de paquetes como lo son Debian, Ubuntu y cualquiera de sus derivados.

Debemos de abrir una terminal en el sistema y en ella vamos a teclear el siguiente comando:

wget https://packages.microsoft.com/repos/edge/pool/main/m/microsoft-edge-stable/microsoft-edge-stable_95.0.1020.40-1_amd64.deb

Hecha la descarga del paquete ahora pueden proceder a realizar la instalación del navegador con su gestor de paquetes preferido o desde la misma terminal podemos realizar la instalación tecleando el siguiente comando:

sudo apt install ./microsoft-edge-stable_95.0.1020.40-1_amd64.deb

Y listo, ya puedes buscar el navegador en tu menú de aplicaciones para hacer uso de ello.

Finalmente para aquellos que son usuarios de distribuciones con soporte para paquetes RPM como lo son Fedora, openSUSE, CentOS y demás derivados de estos, el paquete para su sistema lo obtienen tecleando el siguiente comando en una terminal:

wget https://packages.microsoft.com/yumrepos/edge/microsoft-edge-stable-95.0.1020.40-1.x86_64.rpm

Hecha la descarga pueden realizar la instalación del paquete obtenido con su gestor de paquetes de preferencia o desde la misma terminal pueden realizar la instalación tecleando el siguiente comando:

sudo rpm -i microsoft-edge-stable-95.0.1020.40-1.x86_64.rpm

Y listo con ello ya tendrán el navegador instalado en su sistema y listo para poder ser utilizado.

Finalmente como dato adicional cabe mencionar que el paquete ya también esta disponible para Arch Linux y derivados desde el repositorio de AUR y para realizar la instalación deben de tener este repositorio habilitado y tener un asistente de AUR.

El comando para realizar la instalación es:

yay -S microsoft-edge-stable-bin

from Linux Adictos https://ift.tt/3nLIujQ
via IFTTT

Mostly Sunny today!

En Veracruz hoy la condición actual es Clear y una temperatura de 22C.

La máxima temperatura será de 29C y la mínima de 21C.
Durante el día la condición se pronostica como Mostly Sunny

Sunrise October 30, 2021 at 07:23AM
Sunset October 30, 2021 at 06:51PM

Viento con dirección West y velocidad de 10 Km/h

With a high of 84F and a low of 69F.
via IFTTT

Mostly Sunny today!

En Veracruz hoy la condición actual es Clear y una temperatura de 22C.

La máxima temperatura será de 29C y la mínima de 21C.
Durante el día la condición se pronostica como Mostly Sunny

Sunrise October 30, 2021 at 07:23AM
Sunset October 30, 2021 at 06:51PM

Viento con dirección West y velocidad de 10 Km/h

With a high of 84F and a low of 69F.
via IFTTT

Mostly Sunny today!

En Veracruz hoy la condición actual es Clear y una temperatura de 22C.

La máxima temperatura será de 29C y la mínima de 21C.
Durante el día la condición se pronostica como Mostly Sunny

Sunrise October 30, 2021 at 07:23AM
Sunset October 30, 2021 at 06:51PM

Viento con dirección West y velocidad de 10 Km/h

With a high of 84F and a low of 69F.
via IFTTT