Patricio Palladino
Director: Diego Garbervetsky
Proceso para determinar
si un artefacto se corresponde con una descripción o especificación del mismo.
Proceso para aumentar la confianza en que un artefacto se corresponde con la realidad.
¿El software es correcto?
¿El software es el correcto?
public class Stack {
public Stack() {
/* ... */
}
public Stack(int capacity) {
/* ... */
}
public void Pop() {
/* ... */
}
public void Push(Object o) {
/* ... */
}
}Boogie
Blast
Code
contracts
BCT
Corral
public void Push(Object o) {
if (o == null) {
// No incluido en la pre
throw new NullPointerException();
}
/* ... */
} public void Push(Object o) {
/* ... */
if (o == null) {
// No incluido en la pre
throw new NullPointerException();
}
}public boolean Push_pre() {
return size <= capacity;
} public void Push(Object o) {
if (o == null) {
// No incluido en la pre
size = capacity + 1;
throw new NullPointerException();
}
/* ... */
}