{"id":1788,"date":"2019-10-29T09:28:09","date_gmt":"2019-10-29T12:28:09","guid":{"rendered":"https:\/\/icc.fcen.uba.ar\/?p=1788"},"modified":"2022-03-29T10:38:20","modified_gmt":"2022-03-29T13:38:20","slug":"una-auditoria-de-software-que-abrio-nuevas-lineas-de-investigacion","status":"publish","type":"post","link":"https:\/\/icc.fcen.uba.ar\/en\/una-auditoria-de-software-que-abrio-nuevas-lineas-de-investigacion\/","title":{"rendered":"Una auditor\u00eda de software que abri\u00f3 nuevas l\u00edneas de investigaci\u00f3n"},"content":{"rendered":"<div class=\"fusion-fullwidth fullwidth-box fusion-builder-row-1 nonhundred-percent-fullwidth non-hundred-percent-height-scrolling\" style=\"--awb-border-radius-top-left:0px;--awb-border-radius-top-right:0px;--awb-border-radius-bottom-right:0px;--awb-border-radius-bottom-left:0px;--awb-flex-wrap:wrap;\" ><div class=\"fusion-builder-row fusion-row\"><div class=\"fusion-layout-column fusion_builder_column fusion-builder-column-0 fusion_builder_column_1_1 1_1 fusion-one-full fusion-column-first fusion-column-last\" style=\"--awb-bg-size:cover;\"><div class=\"fusion-column-wrapper fusion-flex-column-wrapper-legacy\"><div class=\"fusion-text fusion-text-1\"><p><strong>Investigadores del ICC colaboraron en el proyecto de apertura de las especificaciones de software de Microsoft, que se realiz\u00f3 entre 2008 y 2013, a partir de un fallo antimonopolio hacia la compa\u00f1\u00eda. El trabajo de revisi\u00f3n de los protocolos, documentaci\u00f3n y prueba generalizada de productos por parte de los investigadores, hizo surgir interesantes casos de estudio y trabajos de doctorado que contin\u00faan en la actualidad en el Grupo de Ingenier\u00eda de Software del Instituto.<\/strong><\/p>\n<p><span style=\"font-weight: 400;\">El software es uno de los objetos m\u00e1s complejos que construyen los seres humanos. En la actualidad, dependemos cada vez m\u00e1s del software pero no contamos con t\u00e9cnicas adecuadas para comprender su comportamiento emergente.\u00a0<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Sin embargo, a\u00fan con este panorama, investigadores en Ingenier\u00eda de Software del ICC trabajan desde hace a\u00f1os en algoritmos que permitan entender el comportamiento subyacente de un software en cierto nivel de abstracci\u00f3n y trazar el mapa de ruta de un programa o una especificaci\u00f3n compleja. \u201c<\/span><i><span style=\"font-weight: 400;\">Una de nuestras l\u00edneas de trabajo consiste en proponer soluciones novedosas para la ingenier\u00eda reversa: extraer el comportamiento que se conoce como el \u2018espacio de estados\u201d de un software y reducirlo de un modo que sea procesable por un ser humano, en este caso un ingeniero de software, y que le posibilite descubrimientos y preguntas m\u00e1s finas sobre el mismo<\/span><\/i><span style=\"font-weight: 400;\">\u201d, puntualiza V\u00edctor Braberman, investigador del ICC en el grupo<\/span><a href=\"https:\/\/lafhis.dc.uba.ar\/home\"> <span style=\"font-weight: 400;\">LAFHIS<\/span><\/a><span style=\"font-weight: 400;\"> (Laboratorio de Fundamentos y Herramientas de Ingenier\u00eda de Software) y doctor en Ciencias de la Computaci\u00f3n.\u00a0 En este contexto, conseguir el comportamiento abstracto \u201cnavegable\u201d del software es una tarea conceptual y algor\u00edtmica ardua, porque se trata de espacios de estado infinitos o enormes.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Lograr esta navegabilidad y visualizaci\u00f3n del comportamiento permitir\u00eda contrastar el comportamiento real del programa contra el modelo mental del revisor de software, de modo de poder confrontar sus hip\u00f3tesis, indagar si son correctas o err\u00f3neas, de una manera que no est\u00e1 soportada actualmente por ninguna herramienta autom\u00e1tica existente. \u00bfC\u00f3mo surge esta visi\u00f3n? A trav\u00e9s de la participaci\u00f3n del investigador en un proyecto global de auditor\u00eda que data de m\u00e1s de 10 a\u00f1os.<\/span><\/p>\n<p><b>Algunos antecedentes<\/b><\/p>\n<p><span style=\"font-weight: 400;\">En 2007 el Tribunal de Primera Instancia de la Uni\u00f3n Europea respald\u00f3 al grueso de la Comisi\u00f3n Europea para sancionar a Microsoft por pr\u00e1cticas anticompetitivas, confirmando una hist\u00f3rica multa de 497 millones de euros. La Comisi\u00f3n Europea consider\u00f3 que Microsoft \u201cse aprovech\u00f3 del virtual monopolio de su sistema operativo Windows para expulsar a otros competidores del mercado, a los que, adem\u00e1s, no habr\u00eda facilitado la informaci\u00f3n necesaria para fabricar productos compatibles\u201d. Este dictamen sent\u00f3 algunos precedentes respecto a c\u00f3mo actuar frente a grandes compa\u00f1\u00edas.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">M\u00e1s all\u00e1 de los costos econ\u00f3micos y de recursos humanos, este fallo signific\u00f3 para Microsoft un giro en su estrategia, que se reconvirti\u00f3 en compartir informaci\u00f3n esencial sobre su tecnolog\u00eda. Los cambios buscaron permitir a los desarrolladores <\/span><i><span style=\"font-weight: 400;\">Open Source<\/span><\/i><span style=\"font-weight: 400;\"> acceder a protocolos para desarrollos que no sean comerciales, licenciar patentes para distribuci\u00f3n comercial en t\u00e9rminos razonables y no discriminatorios, cobrando <\/span><i><span style=\"font-weight: 400;\">royalties<\/span><\/i><span style=\"font-weight: 400;\"> accesibles, y favorecer la interoperabilidad y mayor posibilidad de elecci\u00f3n entre clientes y desarrolladores. Esto fue condensado en lo que en la actualidad se conoce como que el<\/span><a href=\"https:\/\/docs.microsoft.com\/es-es\/openspecs\/main\/ms-openspeclp\"> <span style=\"font-weight: 400;\">Programa de Especificaciones Abiertas<\/span><\/a><span style=\"font-weight: 400;\"> (Open Specifications) del software de Microsoft.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Al hablar de \u201cEspecificaci\u00f3n\u201d de un software, nos referimos a la descripci\u00f3n completa del comportamiento del sistema que se va a desarrollar, que incluye un conjunto de casos de uso que describe todas las interacciones entre componentes externas y roles del protocolo.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">No obstante, para poder lograr este giro, durante aproximadamente 5 a\u00f1os, Microsoft realiz\u00f3 una exhaustiva documentaci\u00f3n del comportamiento de los protocolos que la compa\u00f1\u00eda ten\u00eda en su complejo software. Esto implic\u00f3 el testeo de un conjunto de casos de prueba (<\/span><i><span style=\"font-weight: 400;\">test suite<\/span><\/i><span style=\"font-weight: 400;\">) derivados de la documentaci\u00f3n para la verificaci\u00f3n de correspondencia entre el contenido de la misma y el comportamiento real de cada protocolo en sus productos.<\/span><\/p>\n<p><b>El grupo LAFHIS en la auditor\u00eda del software<\/b><\/p>\n<p><span style=\"font-weight: 400;\">\u201c<\/span><i><span style=\"font-weight: 400;\">Llegu\u00e9 al proyecto cuando la documentaci\u00f3n estaba siendo desarrollada y mi trabajo consisti\u00f3 en una auditor\u00eda interna de la forma en que se estaba validando la documentaci\u00f3n del software. Desde una perspectiva acad\u00e9mica termin\u00e9 liderando a un grupo de revisores de Microsoft para asegurarnos de entender mejor el comportamiento del software, detectar problemas en la documentaci\u00f3n o en la forma que se estaba testeando<\/span><\/i><span style=\"font-weight: 400;\">\u201d, subraya Braberman.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">El investigador trabaj\u00f3 alrededor de 2 a\u00f1os en la auditor\u00eda del software. Fue convocado por Nicol\u00e1s Kicillof, quien en ese momento estaba trabajando en Microsoft (Redmond, EE.UU.) y con quien ya hab\u00eda desarrollado proyectos acad\u00e9micos en Exactas-UBA. Adem\u00e1s, colaboraron en el proyecto otros investigadores del Grupo LAFHIS y estudiantes de la carrera.<\/span><\/p>\n<p><i><span style=\"font-weight: 400;\">\u201cSaber si la documentaci\u00f3n\/especificaci\u00f3n de los protocolos era fiel al producto result\u00f3 una tarea muy compleja porque me enfrentaba con muchos modelos mentales: desde lo que yo u otros desarrolladores entend\u00edan del documento hasta las posibles desviaciones entre lo que testeaban los casos de prueba y lo que dec\u00eda realmente el documento, ya que quiz\u00e1s no estaban reflejando lo que estaba especificado<\/span><\/i><span style=\"font-weight: 400;\">\u201d, explica el investigador del ICC.<\/span><\/p>\n<div id=\"attachment_1792\" style=\"width: 191px\"  class=\"wp-caption alignleft\"><img decoding=\"async\" class=\"lazyload wp-image-1792\" src=\"https:\/\/icc.fcen.uba.ar\/wp-content\/uploads\/2019\/10\/braberman-300x274.jpg\" data-orig-src=\"https:\/\/icc.fcen.uba.ar\/wp-content\/uploads\/2019\/10\/braberman-300x274.jpg\" alt=\"\" width=\"181\" height=\"165\" srcset=\"data:image\/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20width%3D%27181%27%20height%3D%27165%27%20viewBox%3D%270%200%20181%20165%27%3E%3Crect%20width%3D%27181%27%20height%3D%27165%27%20fill-opacity%3D%220%22%2F%3E%3C%2Fsvg%3E\" data-srcset=\"https:\/\/icc.fcen.uba.ar\/wp-content\/uploads\/2019\/10\/braberman-200x183.jpg 200w, https:\/\/icc.fcen.uba.ar\/wp-content\/uploads\/2019\/10\/braberman-300x274.jpg 300w, https:\/\/icc.fcen.uba.ar\/wp-content\/uploads\/2019\/10\/braberman-400x366.jpg 400w, https:\/\/icc.fcen.uba.ar\/wp-content\/uploads\/2019\/10\/braberman-600x548.jpg 600w, https:\/\/icc.fcen.uba.ar\/wp-content\/uploads\/2019\/10\/braberman-768x702.jpg 768w, https:\/\/icc.fcen.uba.ar\/wp-content\/uploads\/2019\/10\/braberman-800x731.jpg 800w, https:\/\/icc.fcen.uba.ar\/wp-content\/uploads\/2019\/10\/braberman-1024x936.jpg 1024w, https:\/\/icc.fcen.uba.ar\/wp-content\/uploads\/2019\/10\/braberman-1200x1097.jpg 1200w\" data-sizes=\"auto\" data-orig-sizes=\"(max-width: 181px) 100vw, 181px\" \/><p class=\"wp-caption-text\">Victor Braberman<\/p><\/div>\n<p><span style=\"font-weight: 400;\">Braberman destaca que este tipo de proyectos le abri\u00f3 al grupo toda una filosof\u00eda de trabajo. \u201c<\/span><i><span style=\"font-weight: 400;\">Esta idea de c\u00f3mo podemos construir un modelo a partir de abstracciones fue una caracter\u00edstica (feature) esencial de una herramienta\u00a0 inicial que implementamos y nos ayud\u00f3 tambi\u00e9n a desarrollar casos de estudio acad\u00e9micos e identificar oportunidades de colaboraci\u00f3n con la industria<\/span><\/i><span style=\"font-weight: 400;\">\u201d, aclara. Al mismo tiempo, a partir del proyecto surgieron diversos trabajos de doctorado, entre los que se destacan los aportes de<\/span><a href=\"https:\/\/bibliotecadigital.exactas.uba.ar\/collection\/tesis\/document\/tesis_n5247_DeCaso\"> <span style=\"font-weight: 400;\">Guido de Caso<\/span><\/a><span style=\"font-weight: 400;\"> e Iv\u00e1n Postolski.<\/span><\/p>\n<\/div><div class=\"fusion-clearfix\"><\/div><\/div><\/div><\/div><\/div>\n","protected":false},"excerpt":{"rendered":"","protected":false},"author":9,"featured_media":1790,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[71,12],"tags":[34,63],"class_list":["post-1788","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-actualidad","category-noticias","tag-ingenieria-software","tag-testing"],"_links":{"self":[{"href":"https:\/\/icc.fcen.uba.ar\/en\/wp-json\/wp\/v2\/posts\/1788","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/icc.fcen.uba.ar\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/icc.fcen.uba.ar\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/icc.fcen.uba.ar\/en\/wp-json\/wp\/v2\/users\/9"}],"replies":[{"embeddable":true,"href":"https:\/\/icc.fcen.uba.ar\/en\/wp-json\/wp\/v2\/comments?post=1788"}],"version-history":[{"count":3,"href":"https:\/\/icc.fcen.uba.ar\/en\/wp-json\/wp\/v2\/posts\/1788\/revisions"}],"predecessor-version":[{"id":1793,"href":"https:\/\/icc.fcen.uba.ar\/en\/wp-json\/wp\/v2\/posts\/1788\/revisions\/1793"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/icc.fcen.uba.ar\/en\/wp-json\/wp\/v2\/media\/1790"}],"wp:attachment":[{"href":"https:\/\/icc.fcen.uba.ar\/en\/wp-json\/wp\/v2\/media?parent=1788"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/icc.fcen.uba.ar\/en\/wp-json\/wp\/v2\/categories?post=1788"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/icc.fcen.uba.ar\/en\/wp-json\/wp\/v2\/tags?post=1788"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}