Da investigação a ferramentas reais de análise e testes
A Interpretica nasceu da investigação em análise de programas. Os métodos que publicamos e prototipamos passam diretamente para o Visao, o TS Factory, o Delta e o Midair.
Publicações revistas por pares. Investigação que entra nas nossas ferramentas.
Maxim Menshikov (Fundador e CEO) tem vários trabalhos revistos por pares sobre análise estática, representações intermédias para análise de programas e ferramentas para programadores.
Vários destes resultados fazem hoje parte da nossa plataforma, entre eles a Midair IR e o motor Visao.
Linhas de investigação. Cada uma deu origem a algo que entregamos.
Cada linha resolve um problema concreto na análise e nos testes de software complexo. Todas produziram resultados que hoje entregamos ou usamos.
Análise estática independente da linguagem
Um analisador, muitas linguagens. Em vez de manter uma ferramenta para cada linguagem, convertemos o código-fonte numa representação semântica comum e raciocinamos sobre ela. Assim, um detetor escrito uma vez funciona em toda a base de código.
A representação intermédia do Midair e o motor Visao.
Midair: An Intermediate Representation for Multi-purpose Program Analysis (ICCSA 2020); Scalable semantic virtual machine framework for language-agnostic static analysis (GRID 2018).
Raciocinar sobre o comportamento dos programas
Combinamos model checking com interpretação abstrata para explorar como o código se comporta ao longo dos caminhos de execução. Assim encontramos defeitos que nascem de interações complexas dentro de um programa, para lá dos padrões de bugs conhecidos.
O Equid, a nossa ferramenta anterior de análise estática, é o antecessor direto do atual motor Visao. Os detetores sensíveis ao caminho do Visao nasceram deste trabalho.
Equid: a static analysis framework for industrial applications (ICCSA 2019).
Qualidade dos relatórios: ocorrências que pode tratar
Uma ocorrência só é útil se um engenheiro puder agir sobre ela. Estudamos como medir e melhorar a completude e a relevância dos resultados da análise. Estudamos também como reduzir os falsos positivos que minam a confiança.
A medida de qualidade de relatórios 5W+1H, que orienta a forma como o Visao ordena e apresenta as ocorrências.
5W+1H static analysis report quality measure (TMPA 2017).
Análise residente e escalável
A análise deve correr de forma contínua e incremental em grandes bases de código, sem um passo lento em lote. Estudamos analisadores residentes, que ficam sempre ativos, e modelos de serviço para oferecer análise em grande escala.
A forma como o Visao se integra em CI/CD e se mantém rápido em projetos grandes.
Towards a resident static analysis (ICCSA 2019); Review of static analyzer service models (Proceedings of ISP RAS, 2021).
Sistemas embebidos e com recursos limitados
Testes e virtualização para dispositivos com poucos recursos, firmware e hardware de rede. Aqui, reproduzir o ambiente exato é metade do problema. Estudamos como isolar estes alvos, guardar snapshots do seu estado e correr testes neles de forma fiável.
Orienta os laboratórios de dispositivos do TS Factory e a captura em tempo de execução do Delta.
Design and testing of an LXC-based virtualization system for resource-constrained MIPS devices (SEIM 2018).
Testes distribuídos e observabilidade em tempo de execução
Como correr grandes cenários de teste com vários hosts e registar o ambiente exato de onde veio cada resultado. E como ligar as evidências de execução às ocorrências no código que as explicam.
O TS Factory (testes distribuídos) e o Delta (monitorização em tempo de execução), ligados pelo Midair.
Publicações selecionadas. Onze anos de análise de programas.
Lista completa e citações-
2021
- Review of static analyzer service modelsProceedings of ISP RAS
-
2020
- Midair: An Intermediate Representation for Multi-purpose Program AnalysisICCSA
-
2019
- Equid: a static analysis framework for industrial applicationsICCSA
- Towards a resident static analysisICCSA
-
2018
- Scalable semantic virtual machine framework for language-agnostic static analysisGRID
- Design and testing of an LXC-based virtualization system for resource-constrained MIPS devicesSEIM
-
2017
- 5W+1H static analysis report quality measureTMPA
Estudos de mercado. Relatórios independentes sobre o nosso setor.
Visões gerais de empresas, comparações de ferramentas e análise dos riscos da IA no mercado de testes, análise estática e cibersegurança.
Ver relatórios