Pretendo criar um software que analise um código fonte passado pelo usuário, mais especificamente exibir a quantidade de iterações ou testes no código.
Se for possível, quais classes devo utilizar?

Pretendo criar um software que analise um código fonte passado pelo usuário, mais especificamente exibir a quantidade de iterações ou testes no código.
Se for possível, quais classes devo utilizar?

Você quer exibir a quantidade de laços e testes?
tipo:
while: 4
for : 2
if : 5
é isso?
se for não é só percorrer o código e fazer um contador para laços e testes?
Já ouviu falar em jUnit??
jUnit é um framework de testes de unidade.
é se o seu objetivo é apenas fazer testes unitários como o amigo ai em cima disse, já existem frameworks para isso como JUnit e testNG
Vamos supor que exista uma caixa de texto no meu programa que receba o seguinte código do usuário:
int contador=0;
for(int i=0; i<10; i++){
contador++;
}
No final o valor da variável contador será 10, que é a quantidade de ciclos do for. A grande questão é como executar o código passado pelo usuário e ter acesso às suas variáveis.
Infelizmente vou ter que fazer isso do zero :oops:
Reflection? Manipulação de bytecodes?
O que vocês acham :?:
Vem cá, você realmente quer interpretar um código Java, ou você quer analisar um código para obter métricas (tais como “complexidade ciclométrica” e outras medidas que dependem da quantidade de ifs e whiles?)
Se você quer determinar “complexidade ciclométrica”, aconselho a usar um outro software,
http://metrics.sourceforge.net/
(atenção - é para Eclipse 3.1).
Oi,
Isso está me parecendo um Analisador Lexico ou algo do tipo?! rsrs
Tchauzin!
para criar um parser para analisar um código fonte use o JavaCC. (https://javacc.dev.java.net/) . Existem plugins para Eclipse e netbeans. Se não me engano nos tutoriais tem até um exemplo da sintaxe java. No começo é meio complexo para entender a teoria toda. Tem que estudar bastante, mas depois que pega o jeito a ferramenta é realmente útil.
http://www.beanshell.org/Vem cá, você realmente quer interpretar um código Java, ou você quer analisar um código para obter métricas (tais como “complexidade ciclométrica” e outras medidas que dependem da quantidade de ifs e whiles?)
Se você quer determinar “complexidade ciclométrica”, aconselho a usar um outro software,
http://metrics.sourceforge.net/
(atenção - é para Eclipse 3.1).
A intenção é análise de complexidade algoritmica, mas o usuário define um marcador, uma linha do código que deseja fazer a contagem. Aquela variável contador é como se fosse um marcador no código. Então, o marcador será incrementado toda vez que o fluxo do programa passar por ele. No final, será exibido o valor do marcador.
Reflection não resolve esse problema.
Já manipulação de bytecode sim, mas não é uma tarefa facil.
Se eu fosse voce eu pegava o código java mesmo colocava a instrução e recompilava. Dai voce pegava o valor da variavel após executar o código.
Blz, quais ferramentas devo utilizar?