From c79c4790e6bdf5ae1efca4ed5de54d41692a81de Mon Sep 17 00:00:00 2001 From: "sweep-ai[bot]" <128439645+sweep-ai[bot]@users.noreply.github.com> Date: Tue, 27 Feb 2024 04:11:32 +0000 Subject: [PATCH 1/4] feat: Updated code_to_data_dependency_graph.py --- code_to_data_dependency_graph.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/code_to_data_dependency_graph.py b/code_to_data_dependency_graph.py index 70d85d7..22d22af 100644 --- a/code_to_data_dependency_graph.py +++ b/code_to_data_dependency_graph.py @@ -1,13 +1,13 @@ import ast -def get_deps(code): +def get_deps(code: str) -> Tuple[Dict[str, int], Dict[str, Set[str]]]: body = ast.parse(code) _, statements = next(ast.iter_fields(body)) # Line no. at which each identifier was first seen - declaration_line_num_map = {} - ddg = {} + declaration_line_num_map: Dict[str, int] = {} + ddg: Dict[str, Set[str]] = {} def update_decls(lhs_vars_input, num): lhs_var_nodes = [] From 3c12f4211dc71f32a005254b8df188056f7f705a Mon Sep 17 00:00:00 2001 From: "sweep-ai[bot]" <128439645+sweep-ai[bot]@users.noreply.github.com> Date: Tue, 27 Feb 2024 04:12:42 +0000 Subject: [PATCH 2/4] feat: Updated code_to_data_dependency_graph.py --- code_to_data_dependency_graph.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code_to_data_dependency_graph.py b/code_to_data_dependency_graph.py index 22d22af..4b50ab7 100644 --- a/code_to_data_dependency_graph.py +++ b/code_to_data_dependency_graph.py @@ -51,7 +51,7 @@ class MethodLevelDDGs: def __init__(self, code): self.parsed_ast = ast.parse(code) - def get_methods(self): + def get_methods(self) -> List[ast.FunctionDef]: fn_nodes = [] class FnVisitor(ast.NodeVisitor): From 1b4a5b7ff4b45c1a80766af51462d814db67e445 Mon Sep 17 00:00:00 2001 From: "sweep-ai[bot]" <128439645+sweep-ai[bot]@users.noreply.github.com> Date: Tue, 27 Feb 2024 04:13:03 +0000 Subject: [PATCH 3/4] feat: Updated code_to_data_dependency_graph.py --- code_to_data_dependency_graph.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code_to_data_dependency_graph.py b/code_to_data_dependency_graph.py index 4b50ab7..3f909a7 100644 --- a/code_to_data_dependency_graph.py +++ b/code_to_data_dependency_graph.py @@ -90,7 +90,7 @@ def visit_Assign(self, node): return ddg -def fn_ddgs(code): +def fn_ddgs(code: str) -> Dict[str, Dict[str, Set[str]]]: method_level_ddgs = MethodLevelDDGs(code) methods = method_level_ddgs.get_methods() ddgs = {method.name: method_level_ddgs.recursive_ddg(method) for method in methods} From c610f1763e9196c198d8c38041e72c25897d0136 Mon Sep 17 00:00:00 2001 From: "sweep-ai[bot]" <128439645+sweep-ai[bot]@users.noreply.github.com> Date: Tue, 27 Feb 2024 04:14:07 +0000 Subject: [PATCH 4/4] feat: Updated var_ddg.py --- var_ddg.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/var_ddg.py b/var_ddg.py index a8d2e95..5d0356c 100644 --- a/var_ddg.py +++ b/var_ddg.py @@ -2,7 +2,7 @@ class MyVisitor: - def __init__(self, path): + def __init__(self, path: str): self.GLOBAL_FN = ast.FunctionDef(name='_global_') # FunctionDef -> set(x, y) such that x reads y @@ -67,8 +67,10 @@ def ast_visit(self, node, level=0): if is_fn: self.fn_stack.pop() - def construct_ddg(self): + def construct_ddg(self) -> None: self.ast_visit(self.tree) def get_function_level_ddg(self): return {fn.name: value for fn, value in self.fn_to_ddg_map.items()} + def get_function_level_ddg(self) -> Dict[ast.FunctionDef, Set[Tuple[str, str]]]: + return {fn.name: value for fn, value in self.fn_to_ddg_map.items()}