(self, alpha)
| 203 | return devrank(self.graph, alpha=alpha) |
| 204 | |
| 205 | def compute_commit_share(self, alpha): |
| 206 | commit_share = {} |
| 207 | func_share = self.compute_function_share(alpha) |
| 208 | final_map = self.aggregate_id_map() |
| 209 | |
| 210 | # Compute final history using final_map |
| 211 | final_history = {} |
| 212 | for sha in self.history: |
| 213 | final_history[sha] = {} |
| 214 | for fid, num_lines in self.history[sha].items(): |
| 215 | if fid in final_map: |
| 216 | final_history[sha][final_map[fid]] = num_lines |
| 217 | else: |
| 218 | final_history[sha][fid] = num_lines |
| 219 | |
| 220 | # add edits by each commit up to compute total edits |
| 221 | total_edits = {} |
| 222 | for sha in final_history: |
| 223 | for fid, num_lines in final_history[sha].items(): |
| 224 | if fid in total_edits: |
| 225 | total_edits[fid] += num_lines |
| 226 | else: |
| 227 | total_edits[fid] = num_lines |
| 228 | |
| 229 | # Propagate to commit level |
| 230 | for sha in final_history: |
| 231 | commit_share[sha] = 0 |
| 232 | for fid in final_history[sha]: |
| 233 | if fid in func_share: |
| 234 | commit_share[sha] += \ |
| 235 | (final_history[sha][fid] / total_edits[fid] * |
| 236 | func_share[fid]) |
| 237 | |
| 238 | return commit_share |
| 239 | |
| 240 | def compute_developer_share(self, alpha): |
| 241 | dev_share = {} |
no test coverage detected