Similar Items: Combining reverse debugging and live programming towards visual thinking in computer programming