1 resultado para acceptance

em Cor-Ciencia - Acuerdo de Bibliotecas Universitarias de Córdoba (ABUC), Argentina


Relevância:

10.00% 10.00%

Publicador:

Resumo:

Identificacin y caracterizacin del problema. Uno de los problemas ms importantes asociados con la construccin de software es la correccin del mismo. En busca de proveer garantas del correcto funcionamiento del software, han surgido una variedad de tcnicas de desarrollo con slidas bases matemticas y lgicas conocidas como mtodos formales. Debido a su naturaleza, la aplicacin de mtodos formales requiere gran experiencia y conocimientos, sobre todo en lo concerniente a matemticas y lgica, por lo cual su aplicacin resulta costosa en la prctica. Esto ha provocado que su principal aplicacin se limite a sistemas crticos, es decir, sistemas cuyo mal funcionamiento puede causar daos de magnitud, aunque los beneficios que sus tcnicas proveen son relevantes a todo tipo de software. Poder trasladar los beneficios de los mtodos formales a contextos de desarrollo de software ms amplios que los sistemas crticos tendra un alto impacto en la productividad en tales contextos. Hiptesis. Contar con herramientas de anlisis automtico es un elemento de gran importancia. Ejemplos de esto son varias herramientas potentes de anlisis basadas en mtodos formales, cuya aplicacin apunta directamente a cdigo fuente. En la amplia mayora de estas herramientas, la brecha entre las nociones a las cuales estn acostumbrados los desarrolladores y aquellas necesarias para la aplicacin de estas herramientas de anlisis formal sigue siendo demasiado amplia. Muchas herramientas utilizan lenguajes de aserciones que escapan a los conocimientos y las costumbres usuales de los desarrolladores. Adems, en muchos casos la salida brindada por la herramienta de anlisis requiere cierto manejo del mtodo formal subyacente. Este problema puede aliviarse mediante la produccin de herramientas adecuadas. Otro problema intrnseco a las tcnicas automticas de anlisis es cmo se comportan las mismas a medida que el tamao y complejidad de los elementos a analizar crece (escalabilidad). Esta limitacin es ampliamente conocida y es considerada crtica en la aplicabilidad de mtodos formales de anlisis en la prctica. Una forma de atacar este problema es el aprovechamiento de informacin y caractersticas de dominios especficos de aplicacin. Planteo de objetivos. Este proyecto apunta a la construccin de herramientas de anlisis formal para contribuir a la calidad, en cuanto a su correccin funcional, de especificaciones, modelos o cdigo, en el contexto del desarrollo de software. Ms precisamente, se busca, por un lado, identificar ambientes especficos en los cuales ciertas tcnicas de anlisis automtico, como el anlisis basado en SMT o SAT solving, o el model checking, puedan llevarse a niveles de escalabilidad superiores a los conocidos para estas tcnicas en mbitos generales. Se intentar implementar las adaptaciones a las tcnicas elegidas en herramientas que permitan su uso a desarrolladores familiarizados con el contexto de aplicacin, pero no necesariamente conocedores de los mtodos o tcnicas subyacentes. Materiales y mtodos a utilizar. Los materiales a emplear sern bibliografa relevante al rea y equipamiento informtico. Mtodos. Se emplearn los mtodos propios de la matemtica discreta, la lgica y la ingeniera de software. Resultados esperados. Uno de los resultados esperados del proyecto es la individualizacin de mbitos especficos de aplicacin de mtodos formales de anlisis. Se espera que como resultado del desarrollo del proyecto surjan herramientas de anlisis cuyo nivel de usabilidad sea adecuado para su aplicacin por parte de desarrolladores sin formacin especfica en los mtodos formales utilizados. Importancia del proyecto. El principal impacto de este proyecto ser la contribucin a la aplicacin prctica de tcnicas formales de anlisis en diferentes etapas del desarrollo de software, con la finalidad de incrementar su calidad y confiabilidad. A crucial factor for software quality is correcteness. Traditionally, formal approaches to software development concentrate on functional correctness, and tackle this problem basically by being based on well defined notations founded on solid mathematical grounds. This makes formal methods better suited for analysis, due to their precise semantics, but they are usually more complex, and require familiarity and experience with the manipulation of mathematical definitions. So, their acceptance by software engineers is rather restricted, and formal methods applications have been confined to critical systems. Nevertheless, it is obvious that the advantages that formal methods provide apply to any kind of software system. It is accepted that appropriate software tool support for formal analysis is essential, if one seeks providing support for software development based on formal methods. Indeed, some of the relatively recent sucesses of formal methods are accompanied by good quality tools that automate powerful analysis mechanisms, and are even integrated in widely used development environments. Still, most of these tools either concentrate on code analysis, and in many cases are still far from being simple enough to be employed by software engineers without experience in formal methods. Another important problem for the adoption of tool support for formal methods is scalability. Automated software analysis is intrinsically complex, and thus techniques do not scale well in the general case. In this project, we will attempt to identify particular modelling, design, specification or coding activities in software development processes where to apply automated formal analysis techniques. By focusing in very specific application domains, we expect to find characteristics that might be exploited to increase the scalability of the corresponding analyses, compared to the general case.