Loading AI tools
De Wikipedia, la enciclopedia libre
El rebanamiento estático es una técnica en el área de programación de computadoras conocida como mantenimiento de software. Es usada para identificar todo el código de programa que puede afectar de algún modo el valor de una variable dada.
Una descripción breve de su cálculo es el siguiente: Basado en la definición original de Mark Weiser una rebanada estática de programa (S) consiste de todas las sentencias en un programa P que pueden afectar el valor de la variable v en algún punto p. La rebanada es definida por un criterio de rebanamiento C=(x,V), donde x es una sentencia en un programa P y V es un subconjunto de variables en P. Una rebanada estática incluye todas las sentencias que afectan la variable v para un conjunto de todos los posibles inputs en el punto de interés. Las rebanadas estáticas son computadas encontrando conjuntos consecutivos de sentencias indirectamente relevantes, de acuerdo a los datos y dependencias de control.
int i;
int suma = 0;
int producto = 1;
for(i = 0; i < N; ++i) {
suma = suma + i;
producto = producto * i;
}
write(suma);
write(producto);
El siguiente programa es un rebanamiento válido del anterior, respecto al criterio (write(suma)
,{suma}):
int i;
int suma = 0;
for(i = 0; i < N; ++i) {
suma = suma + i;
}
write(suma);
De hecho, la mayoría de técnicas de rebanamiento estático, incluida la propia técnica de Weiser, tampoco incluirían la sentencia write(suma)
, ya que en la sentencia write(suma)
, el valor de suma
no es afectado por la sentencia en sí.
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.