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
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