Download Principales características utilizadas para análisis de código fuente

Document related concepts
no text concepts found
Transcript
Principales características utilizadas
para análisis de código fuente
Generadores de arboles abstractos
de sintaxis
●
Python AST (Especifico python)
●
Javaparser (Especifico de java)
●
Se debe especificar la sintaxis
–
Pyparsing
–
Boost.Spirit
Estilografía
●
Authorship Analysis: Identifying The Author of a
Program (Krsul, 1995)
–
Indentación o sangrado.
–
Forma de declarar variables.
–
Separación entre nombre de funciones y
parámetros
–
Longitud de lineas.
–
Longitud de nombres de variables.
Estilografía
●
De-anonymizing Programmers via Code Stylometry (CaliskanIslam, 2014)
–
Se crea un AST por cada función o método.
–
Frecuencia de palabras clave.
–
Profundidad promedio de los 58 posibles nodos AST.
–
TF de los 58 posibles nodos AST.
–
TF-IDF de los 58 posibles nodos AST.
–
Profundidad máxima de un nodo AST.
–
Cantidad de ciclos divido sobre el número de caracteres que lo
componen.
–
Cantidad de condicionales (independientemente if, if-else, if-else if) divido
sobre el número de caracteres que lo componen.
Estilografía
●
Author Identification: An Approach Based on Style
Feature Metrics of Software Source Codes (Joshi et. Al,
2013) usando C4.5
–
La letra i como iterador.
–
Longitud de linea.
–
Comentarios.
–
Longitud promedio de procedimientos/métodos.
–
Métodos.
–
Número de arreglos.
–
Creación de objetos.
Estilografía
●
On the Use of Discretized Source Code Metrics
for Author Identification (Shevertalov. Et. al.
2009). Se normalizan las métricas y se usa el
algoritmo de los k más cercanos.
–
Espacios al inicio de la linea.
–
Tabs al inicio de la linea.
–
Longitud de linea.
–
Palabras por linea.
Related documents