-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathreadme
More file actions
170 lines (119 loc) · 6.91 KB
/
readme
File metadata and controls
170 lines (119 loc) · 6.91 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
Assignment 4 readme File
------------------------------------------------------------------------
Student 1: What is your name?
Diane Yang
------------------------------------------------------------------------
Student 2: What is your name?
Abdullah Ramadan
------------------------------------------------------------------------
Student 1: What authorized sources of information did you use to
complete the assignment? COPY THE LIST of authorized sources of
information given in the "Policies" web page to this section of the
readme file, and edit it as appropriate.
------------------------------------------------------------------------
Student 2: What authorized sources of information did you use to
complete the assignment? COPY THE LIST of authorized sources of
information given in the "Policies" web page to this section of the
readme file, and edit it as appropriate.
------------------------------------------------------------------------
Student 1: What unauthorized sources of information did you use to
complete the assignment? List any unauthorized sources of information
that you used to complete the assignment, and describe how you used
them. The course "Policies" web page defines unauthorized sources of
information, and any source that you have used but not listed in the
authorized sources should be included here. Please note that using an
unauthorized source may trigger a course penalty, and depending on the
nature of the interaction, may additionally require the interaction
being reported to the Committee on Discipline. Write "None" if you used
no unauthorized sources of information.
------------------------------------------------------------------------
Student 2: What unauthorized sources of information did you use to
complete the assignment? List any unauthorized sources of information
that you used to complete the assignment, and describe how you used
them. The course "Policies" web page defines unauthorized sources of
information, and any source that you have used but not listed in the
authorized sources should be included here. Please note that using an
unauthorized source may trigger a course penalty, and depending on the
nature of the interaction, may additionally require the interaction
being reported to the Committee on Discipline. Write "None" if you used
no unauthorized sources of information.
------------------------------------------------------------------------
Student 1: What is your assessment of the assignment? Was it helpful?
Was it fun?
------------------------------------------------------------------------
Student 2: What is your assessment of the assignment? Was it helpful?
Was it fun?
------------------------------------------------------------------------
(optional) What information can you provide about your submission that
will help your grader to grade it in the most favorable light? In
particular, what bugs are in your submission?
------------------------------------------------------------------------
What warnings does critTer generate on checker.c, and what are your
disagreements with them? Copy the critTer warnings here, and express
your disagreement after each warning. If there are no warnings, then
write "None."
None.
------------------------------------------------------------------------
What warnings does critTer generate on your Part 3 code, and what are
your disagreements with them? Copy the critTer warnings here, and
express your disagreement after each warning. If there are no
warnings, then write "None."
------------------------------------------------------------------------
What warnings does splint generate for Part 2's checker, and what are
your disagreements with them? Copy the splint warnings here, and
express your disagreement after each warning. If there are no
warnings, then write "None."
checker.h:16:9: Function exported but not used outside checker:
Checker_Node_isValid
A declaration is exported, but not used outside
this module. Declaration can use static qualifier.
Although splint is corrent that our Checker_Node_isValid function can
be static as it is not called anywhere else, the Checker_Node_isValid
is listed in the given header file. This suggests the possibility that
future test may want to call Checker_Node_isValid at the beginning of
a Node function, which is a valid thing to do.
------------------------------------------------------------------------
What warnings does splint generate on Part 3, and what are your
disagreements with them? Copy the splint warnings here, and express
your disagreement after each warning. If there are no warnings, then
write "None."
------------------------------------------------------------------------
For each of the first three faulty BDT implementations required by Step
1.5, identify the function where there is a bug. You do not have to
identify the bug itself, only its location, but note that this must be
the location of the underlying error, which is not necessarily where
the error manifests itself or is "noticed" by the client.
Executable Function with the underlying error
===============================================================
./bdtBad1
---------------------------------------------------------------
./bdtBad2
---------------------------------------------------------------
./bdtBad3
===============================================================
For bdtBad4, you do not have to find the bug. Instead, indicate what
is different about trying to debug this executable in gdb versus the
other three:
For bdtBad5, you do not have to find the bug. Instead, indicate one
hypothesis for how the program could crash within the DynArray module,
which we promise is itself correct:
------------------------------------------------------------------------
What are your critiques of the given DT implementations, as
specified in Step 2.5?
In nodeGood.c, Node_addChild is currently unused and is redundant with
the existence of Node_createChild. Although Node_createChild might be
useful when creating the FT implementation, in the DT implementation
every time a bidirectional link is needed, both Node_createChild and
Node_linkChild are called in place of Node_addChild.
In addition, in dtGood.c, T_traversePath simply asserts that path !=
NULL, then calls DT_traversePathFrom. In order to minimize the module
interface, DT_traversePath and DT_traversePathFrom can be combined
into a single function.
The commented out version of Node_getPath have the advantage of
creating a copy of the path before passing it to the client. This would
be preferrable to the current const char* return type, which a user
could ignore by casting to (char*). For increased resource management,
it might be better to go with the commented out version of
Node_getPath, as long as it's clear in the header file that the client
must be responsible for the memory of the returned string.
------------------------------------------------------------------------