1 research outputs found

    SoftCheck, uma plataforma de construção de análises estáticas para a segurança de programas, genérica e composicional

    Get PDF
    A implementação de análises estáticas de programas é muitas vezes feita de forma ad-hoc ou especializada para um desígnio particular num contexto programático particular. Como tal, a extensão ou adaptação de análises para outros contextos ou linguagens de programação é um processo moroso. Neste trabalho endereçamos este problema apresentando uma plataforma computacional que permite a expressão de análises estáticas para a segurança de programas arbitrariamente complexas e centrada em análises de fluxos de dados. Tirando proveito de um sistema de módulos expressivo, a plataforma SoftCheck permite a definição e resolução de análises de uma forma abstrata à linguagem fonte do programa, tornando o processo mais simples e as análises mais facilmente extensíveis e reutilizáveis. Retratamos também um caso de estudo sobre o uso da plataforma para a linguagem de programação CAO, uma linguagem dedicada à programação de componentes criptográficas. Neste caso de estudo, mostramos como se obtém um conjunto de análises clássicas de fluxos de dados e uma análise para a segurança, recorrendo simplesmente ao referido mecanismo de instanciação do SoftCheck, demonstrando como as caraterísticas desta permitem instanciar estas ou outras análises com esforço reduzido.Static program analyses are often implemented in an ad-hoc manner, being specialised to a specific programming context. As such, the extension or adaption of static analyses to other contexts or programming languages is a task that often requires considerable effort. In this work, we address these problems presenting a computational platform that allows the definition of static program analyses for security with arbitrary complexity and focused on data flow analyses. Benefiting from an expressive module system, SoftCheck platform allows the definition and computation of analyses in a manner independent to the source code language of the program, making the process simpler and the analyses more easily extensible e reusable. We also detail a case study about the usage of this platform applied to CAO programming language, a Domain Specific Language (DSL) for writing cryptographic components. In this case, we demonstrate how to obtain a set of classical static data flow analyses and a security analysis, only resorting to the referred mechanism of SoftCheck, demonstrating how its characteristics allow instantiating these and other analyses with reduced effort
    corecore