COMP3301 Assignment 3 Marksheet 25 Marks (25%)

COMP3301 Assignment 3 Marksheet 25 Marks (25%)
$Revision: 477 $
Surname First Name Student ID Session/Date Marker Initials
Reflection
Excellent (eX)
Satisfactory (sX)
Reflection
• (e1) Reflection is clear and concise and de- scribes the steps taken. If a flow chart is in- cluded, it must be clear about the steps taken.
• (e2) An error in the code was clearly identified and fixed
• (e3) Analysis is in-depth and identifies all relevant aspects of the error
• (e4) Demonstrates strong command of debugging methods and tools
• (g1) Reflection is not clear but mostly de- scribes the steps taken. Or a flow chart is in- cluded and is clear about the steps taken.
• (g2) An error in the code was clearly identi- fied and a fix attempted
• (g3) Analysis is in-depth and identifies most rele- vant aspects of the er- ror, but may have missed some details
• (g4) Demonstrates us- age of debugging meth- ods and/or tools
• (g5) Fix is sensible and specific, but may contain minor errors or be incom- plete
• (s1) An error in the code was identified
• (s2) Basic analysis was done, but some major details may have been missed
• (s3) A fix was at- tempted, but may con- tain errors or be incom- plete
• (p1) Reflection is given but is poorly worded and is not clear. Or a flow chart is included but it is not clear.
• (p2) Some attempt at analysis
•(p3) Afixmayormay not be attempted
• (z1) Reflection is not given or is not under- standable
• (z2) No clear error iden- tified
• (z3) Analysis not at- tempted
• (z4) No evidence of de- bugging methods or tool usage
• (z5) No attempt to fix
Writing Style
• (e1) Clear written En- glish with appropriate word choices
• (s1) Difficult to under- stand, but some mean- ing evident. Signifi- cant errors in grammar or spelling.
• (z1) No response pro- vided, or was unintelligi- ble.

Programming Help
QCOW Functionality
Excellent (eX)
Satisfactory (sX)
Code Style
• (e1) No style errors were detected in lines changed or added.
• (s1) Code was submit- ted, and some lines of code contained no style violations.
• (z1) No code submit- ted, or every line sub- mitted contains style vi- olations.
Read/Write Support
• (e1) Can obtain logi- cal offset from disk la- bels for both the raw disk and partition in the disk
• (e2) Can read all re- quire metadata from the backing file
• (e3) Able to allocate L2 tables and Guest clusters on a write() call that will never over- write other clusters
• (e4) Able to read data from already allocated clusters and return 0s on non-allocated clus- ters
• (e5) Able to write data to clusters at the cor- rect offset for any given sector.
• (e6) Able to success- fully mount to and write to a file system stored in a qcow file
• (g1) Can obtain logi- cal offset from disk la- bels for at least the raw disk
• (g2) Can read all re- quired metadata from the backing file
• (g3) Able to allocate L2 tables and Guest clusters on a write() call but may overwrite other clusters
• (g4) Able to read data from already allocated clusters and return 0s on non-allocated clus- ters
• (g5) Able to write data to clusters but may not correctly map sectors.
• (s1) Can obtain logi- cal offset form disk la- bels for at least the raw disk
• (s2) Can read the header from the back- ing file
• (s3) Can get the off- sets for the L1 and L2 tables that are already allocated
• (s4) Able to read data from an already allocated cluster but may not handle non- allocated clusters prop- erly
• (s5) Able to read back data that has been writ- ten but may not be written to the correct location
• (s6) Returns 0 if a clus- ter is not allocated
• (w1) Can obtain logi- cal offset form disk la- bels for at least the raw disk
• (w2) Can read the header from backing file
• (w3) Can get the off- sets for L1 and L2 ta- bles that are already al- located
• (p1) Can obtain logi- cal offset from disk la- bels for at least the raw disk
• (p2) Can read header from backing file but may not correctly han- dle endianness
• (z1) Not attempted
• (e1) Can attach and detach from backing file
• (e2) All resources al- located in attach are freed in detach
• (e3) Both file name and stats are imple- mented
• (s1) Can attach and detach from backing file, but resources allo- cated in attach may not be freed in detach
• (s2) Both file name and stats are imple- mented
• (p1) Can attach and detach from backing file
• (p2) File name or Stats implemented
• (z1) Cannot attach to a backing file
• (z2) Neither file name nor states are imple- mented

CS Help, Email: tutorcs@163.com
Robustness
Excellent (eX)
Satisfactory (sX)
Robustness
• (e1) Correctly denies any files that are not of the qcow2 format, are misformatted or cor- rupted, or contain unsup- ported features.
• (e2) Checks the bounds of all read offsets and addresses throughout im- plementation
• (e3) Checks all sizes of data is appropriate and no residual data remains after a read or write com- mand.
• (e4) Appropriately up- dates the backing file for any and all changes of metadata.
• (e5) Appropriate use of locks
• (e6) Appropriate use of defensive programming
• (e7) Successfully ex-
pands the backing file on allocates where appropri- ate
• (g1) Correctly denies files that are not of the qcow2 format and are corrupted or misformat- ted but may contain un- supported features
• (g2) Checks the bounds of most read offsets and addresses throughout im- plementation
• (g3) Checks most sizes of data is appropriate and no residual data remains after a read or write com- mand.
• (g4) Appropriately up- dates the backing file for most changes of meta- data.
• (g5) Some appropriate appropriate use of locks
• (g6) Some appropri- ate use of defensive pro- gramming
• (g7) Attempts to ex- pand the backing file size on allocates where appro- priate
• (s1) Correctly denies any files that are not of the qcow2 format but may allow for corrupted or misformatted qcow2 files
• (s2) Checks the bounds of read offsets and ad- dresses in at least the strategy function and at- tempts made to do this in other areas of the code.
• (s3) Checks some sizes of data is appropriate but might not check that residual data remains af- ter a read or write com- mand.
• (s4) Appropriately up- dates the backing file for some changes of meta- data.
• (s5) Attempts to use locks
• (s6) Attempt to use de- fensive programming
• (w1) Checks the magic and version number in the header of a qcow2 file
• (w2) May check some sizes of data or that off- sets exist in bounds
• (w3) Doesnt update the metadata except where absolutely essential.
• (w4) Some attempt to use locks.
• (w5) Some attempt to use defensive program- ming
• (p1) Checks either the magic number of version number of the header of a qcow2 file
• (p2) Does not check any data sizes or that offsets exist in bounds
• (p3) Doesnt update the metadata except where absolutely essential.
• (p4) No attempt to use locks
• (p5) No attempt to use defensive programming
• (z1) Not attempted

Programming Help, Add QQ: 749389476