— COMP2521 19T0 —
Sort Detective Report

by Name1, Name2

In this lab, the aim is to measure the performance of two sorting programs, without access to the code, and determine which sort algorithm each program implements.

Experimental Design

There are two aspects to our analysis:

Correctness Analysis

To determine correctness, we tested each program on the following kinds of input …

We chose these inputs because …

Performance Analysis

In our performance analysis, we measured how each program’s execution time varied as the size and initial sortedness of the input varied. We used the following kinds of input …

We used these test cases because …

Because of the way timing works on Unix/Linux, it was necessary to repeat the same test multiple times …

We were able to use up to quite large test cases without storage overhead because (a) we had a data generator that could generate consistent inputs to be used for multiple test runs, (b) we had already demonstrated that the program worked correctly, so there was no need to check the output.

We also investigated the stability of the sorting programs by …

We also investigated … any other relevant properties

Experimental Results

Correctness Experiments

An example of a test case and the results of that test is …

On all of our test cases, …

Performance Experiments

For Program A, we observed that …

These observations indicate that the algorithm underlying the program … has the following characteristics

For Program B, we observed that …

These observations indicate that the algorithm underlying the program … has the following characteristics

Conclusions

On the basis of our experiments and our analysis above, we believe that

Appendix

Any large tables of data that you want to present …