We are currently solving the following issue within our repository. Here is the issue text:
--- BEGIN ISSUE ---
Spelling mistake in detector output
The `uninitialized-local` and `uninitialized-storage` detectors each have a minor spelling mistake in their output. The word *initiali~a~zed* is misspelled.

**Current output**

```(tests/uninitialized_local_variable.sol#4) is a local variable never initialiazed```
```(tests/uninitialized_storage_pointer.sol#10) is a storage variable never initialiazed```

**Expected output**

```(tests/uninitialized_local_variable.sol#4) is a local variable never initialized```
```(tests/uninitialized_storage_pointer.sol#10) is a storage variable never initialized```

--- END ISSUE ---

Below are some code segments, each from a relevant file. One or more of these files may contain bugs.
--- BEGIN FILES ---
Path: `slither/detectors/variables/uninitialized_storage_variables.py`
Content:
```
1 """
2     Module detecting uninitialized storage variables
3 
4     Recursively explore the CFG to only report uninitialized storage variables that are
5     written before being read
6 """
7 
8 from slither.detectors.abstract_detector import AbstractDetector, DetectorClassification
9 
10 
11 class UninitializedStorageVars(AbstractDetector):
12     """
13     """
14 
15     ARGUMENT = 'uninitialized-storage'
16     HELP = 'Uninitialized storage variables'
17     IMPACT = DetectorClassification.HIGH
18     CONFIDENCE = DetectorClassification.HIGH
19 
20     WIKI = 'https://github.com/crytic/slither/wiki/Detector-Documentation#uninitialized-storage-variables'
21 
22     WIKI_TITLE = 'Uninitialized storage variables'
23     WIKI_DESCRIPTION = 'An uinitialized storage variable will act as a reference to the first state variable, and can override a critical variable.'
24     WIKI_EXPLOIT_SCENARIO = '''
25 ```solidity
26 contract Uninitialized{
27     address owner = msg.sender;
28 
29     struct St{
30         uint a;
31     }
32 
33     function func() {
34         St st;
35         st.a = 0x0;
36     }
37 }
38 ```
39 Bob calls `func`. As a result, `owner` is override to 0.
40 '''
41 
42     WIKI_RECOMMENDATION = 'Initialize all the storage variables.'
43 
44     # node.context[self.key] contains the uninitialized storage variables
45     key = "UNINITIALIZEDSTORAGE"
46 
47     def _detect_uninitialized(self, function, node, visited):
48         if node in visited:
49             return
50 
51         visited = visited + [node]
52 
53         fathers_context = []
54 
55         for father in node.fathers:
56             if self.key in father.context:
57                 fathers_context += father.context[self.key]
58 
59         # Exclude paths that dont bring further information
60         if node in self.visited_all_paths:
61             if all(f_c in self.visited_all_paths[node] for f_c in fathers_context):
62                 return
63         else:
64             self.visited_all_paths[node] = []
65 
66         self.visited_all_paths[node] = list(set(self.visited_all_paths[node] + fathers_context))
67 
68         if self.key in node.context:
69             fathers_context += node.context[self.key]
70 
71         variables_read = node.variables_read
72         for uninitialized_storage_variable in fathers_context:
73             if uninitialized_storage_variable in variables_read:
74                 self.results.append((function, uninitialized_storage_variable))
75 
76         # Only save the storage variables that are not yet written
77         uninitialized_storage_variables = list(set(fathers_context) - set(node.variables_written))
78         node.context[self.key] = uninitialized_storage_variables
79 
80         for son in node.sons:
81             self._detect_uninitialized(function, son, visited)
82 
83 
84     def _detect(self):
85         """ Detect uninitialized storage variables
86 
87         Recursively visit the calls
88         Returns:
89             dict: [contract name] = set(storage variable uninitialized)
90         """
91         results = []
92 
93         self.results = []
94         self.visited_all_paths = {}
95 
96         for contract in self.slither.contracts:
97             for function in contract.functions:
98                 if function.is_implemented:
99                     uninitialized_storage_variables = [v for v in function.local_variables if v.is_storage and v.uninitialized]
100                     function.entry_point.context[self.key] = uninitialized_storage_variables
101                     self._detect_uninitialized(function, function.entry_point, [])
102 
103         for(function, uninitialized_storage_variable) in self.results:
104             info = [uninitialized_storage_variable, " is a storage variable never initialiazed\n"]
105             json = self.generate_result(info)
106             results.append(json)
107 
108         return results
109
```

Path: `slither/detectors/variables/uninitialized_local_variables.py`
Content:
```
1 """
2     Module detecting uninitialized local variables
3 
4     Recursively explore the CFG to only report uninitialized local variables that are
5     read before being written
6 """
7 
8 from slither.detectors.abstract_detector import AbstractDetector, DetectorClassification
9 
10 
11 class UninitializedLocalVars(AbstractDetector):
12     """
13     """
14 
15     ARGUMENT = 'uninitialized-local'
16     HELP = 'Uninitialized local variables'
17     IMPACT = DetectorClassification.MEDIUM
18     CONFIDENCE = DetectorClassification.MEDIUM
19 
20     WIKI = 'https://github.com/crytic/slither/wiki/Detector-Documentation#uninitialized-local-variables'
21 
22 
23     WIKI_TITLE = 'Uninitialized local variables'
24     WIKI_DESCRIPTION = 'Uninitialized local variables.'
25     WIKI_EXPLOIT_SCENARIO = '''
26 ```solidity
27 contract Uninitialized is Owner{
28     function withdraw() payable public onlyOwner{
29         address to;
30         to.transfer(this.balance)
31     }
32 }
33 ```
34 Bob calls `transfer`. As a result, the ethers are sent to the address 0x0 and are lost.'''
35 
36     WIKI_RECOMMENDATION = 'Initialize all the variables. If a variable is meant to be initialized to zero, explicitly set it to zero.'
37 
38     key = "UNINITIALIZEDLOCAL"
39 
40     def _detect_uninitialized(self, function, node, visited):
41         if node in visited:
42             return
43 
44         visited = visited + [node]
45 
46         fathers_context = []
47 
48         for father in node.fathers:
49             if self.key in father.context:
50                 fathers_context += father.context[self.key]
51 
52         # Exclude path that dont bring further information
53         if node in self.visited_all_paths:
54             if all(f_c in self.visited_all_paths[node] for f_c in fathers_context):
55                 return
56         else:
57             self.visited_all_paths[node] = []
58 
59         self.visited_all_paths[node] = list(set(self.visited_all_paths[node] + fathers_context))
60 
61         if self.key in node.context:
62             fathers_context += node.context[self.key]
63 
64         variables_read = node.variables_read
65         for uninitialized_local_variable in fathers_context:
66             if uninitialized_local_variable in variables_read:
67                 self.results.append((function, uninitialized_local_variable))
68 
69         # Only save the local variables that are not yet written
70         uninitialized_local_variables = list(set(fathers_context) - set(node.variables_written))
71         node.context[self.key] = uninitialized_local_variables
72 
73         for son in node.sons:
74             self._detect_uninitialized(function, son, visited)
75 
76 
77     def _detect(self):
78         """ Detect uninitialized local variables
79 
80         Recursively visit the calls
81         Returns:
82             dict: [contract name] = set(local variable uninitialized)
83         """
84         results = []
85 
86         self.results = []
87         self.visited_all_paths = {}
88 
89         for contract in self.slither.contracts:
90             for function in contract.functions:
91                 if function.is_implemented and function.contract_declarer == contract:
92                     if function.contains_assembly:
93                         continue
94                     # dont consider storage variable, as they are detected by another detector
95                     uninitialized_local_variables = [v for v in function.local_variables if not v.is_storage and v.uninitialized]
96                     function.entry_point.context[self.key] = uninitialized_local_variables
97                     self._detect_uninitialized(function, function.entry_point, [])
98         all_results = list(set(self.results))
99         for(function, uninitialized_local_variable) in all_results:
100 
101             info = [uninitialized_local_variable, " is a local variable never initialiazed\n"]
102             json = self.generate_result(info)
103             results.append(json)
104 
105         return results
106
```
--- END FILES ---

Please first localize the bug based on the issue statement, and then generate a patch according to the `git diff` format fenced by three backticks.

Here is an example:

```diff
diff --git a/examples/server_async.py b/examples/server_async.py
--- a/examples/server_async.py
+++ b/examples/server_async.py
@@ -313,4 +313,4 @@
 
 
 if __name__ == "__main__":
-    asyncio.run(run_async_server("."), debug=True)
+    asyncio.run(run_async_server(), debug=True)
diff --git a/examples/server_sync.py b/examples/server_sync.py
--- a/examples/server_sync.py
+++ b/examples/server_sync.py
@@ -313,5 +313,5 @@
 
 
 if __name__ == "__main__":
-    server = run_sync_server(".")
+    server = run_sync_server()
     server.shutdown()

```

diff --git a/slither/detectors/variables/uninitialized_local_variables.py b/slither/detectors/variables/uninitialized_local_variables.py
--- a/slither/detectors/variables/uninitialized_local_variables.py
+++ b/slither/detectors/variables/uninitialized_local_variables.py
@@ -98,7 +98,7 @@
         all_results = list(set(self.results))
         for(function, uninitialized_local_variable) in all_results:
 
-            info = [uninitialized_local_variable, " is a local variable never initialiazed\n"]
+            info = [uninitialized_local_variable, " is a local variable never initialized\n"]
             json = self.generate_result(info)
             results.append(json)
 
diff --git a/slither/detectors/variables/uninitialized_storage_variables.py b/slither/detectors/variables/uninitialized_storage_variables.py
--- a/slither/detectors/variables/uninitialized_storage_variables.py
+++ b/slither/detectors/variables/uninitialized_storage_variables.py
@@ -101,7 +101,7 @@
                     self._detect_uninitialized(function, function.entry_point, [])
 
         for(function, uninitialized_storage_variable) in self.results:
-            info = [uninitialized_storage_variable, " is a storage variable never initialiazed\n"]
+            info = [uninitialized_storage_variable, " is a storage variable never initialized\n"]
             json = self.generate_result(info)
             results.append(json)

{"golden_diff": "diff --git a/slither/detectors/variables/uninitialized_local_variables.py b/slither/detectors/variables/uninitialized_local_variables.py\n--- a/slither/detectors/variables/uninitialized_local_variables.py\n+++ b/slither/detectors/variables/uninitialized_local_variables.py\n@@ -98,7 +98,7 @@\n         all_results = list(set(self.results))\n         for(function, uninitialized_local_variable) in all_results:\n \n-            info = [uninitialized_local_variable, \" is a local variable never initialiazed\\n\"]\n+            info = [uninitialized_local_variable, \" is a local variable never initialized\\n\"]\n             json = self.generate_result(info)\n             results.append(json)\n \ndiff --git a/slither/detectors/variables/uninitialized_storage_variables.py b/slither/detectors/variables/uninitialized_storage_variables.py\n--- a/slither/detectors/variables/uninitialized_storage_variables.py\n+++ b/slither/detectors/variables/uninitialized_storage_variables.py\n@@ -101,7 +101,7 @@\n                     self._detect_uninitialized(function, function.entry_point, [])\n \n         for(function, uninitialized_storage_variable) in self.results:\n-            info = [uninitialized_storage_variable, \" is a storage variable never initialiazed\\n\"]\n+            info = [uninitialized_storage_variable, \" is a storage variable never initialized\\n\"]\n             json = self.generate_result(info)\n             results.append(json)\n", "issue": "Spelling mistake in detector output\nThe `uninitialized-local` and `uninitialized-storage` detectors each have a minor spelling mistake in their output. The word *initiali~a~zed* is misspelled.\r\n\r\n**Current output**\r\n\r\n```(tests/uninitialized_local_variable.sol#4) is a local variable never initialiazed```\r\n```(tests/uninitialized_storage_pointer.sol#10) is a storage variable never initialiazed```\r\n\r\n**Expected output**\r\n\r\n```(tests/uninitialized_local_variable.sol#4) is a local variable never initialized```\r\n```(tests/uninitialized_storage_pointer.sol#10) is a storage variable never initialized```\n", "before_files": [{"content": "\"\"\"\n    Module detecting uninitialized storage variables\n\n    Recursively explore the CFG to only report uninitialized storage variables that are\n    written before being read\n\"\"\"\n\nfrom slither.detectors.abstract_detector import AbstractDetector, DetectorClassification\n\n\nclass UninitializedStorageVars(AbstractDetector):\n    \"\"\"\n    \"\"\"\n\n    ARGUMENT = 'uninitialized-storage'\n    HELP = 'Uninitialized storage variables'\n    IMPACT = DetectorClassification.HIGH\n    CONFIDENCE = DetectorClassification.HIGH\n\n    WIKI = 'https://github.com/crytic/slither/wiki/Detector-Documentation#uninitialized-storage-variables'\n\n    WIKI_TITLE = 'Uninitialized storage variables'\n    WIKI_DESCRIPTION = 'An uinitialized storage variable will act as a reference to the first state variable, and can override a critical variable.'\n    WIKI_EXPLOIT_SCENARIO = '''\n```solidity\ncontract Uninitialized{\n    address owner = msg.sender;\n\n    struct St{\n        uint a;\n    }\n\n    function func() {\n        St st;\n        st.a = 0x0;\n    }\n}\n```\nBob calls `func`. As a result, `owner` is override to 0.\n'''\n\n    WIKI_RECOMMENDATION = 'Initialize all the storage variables.'\n\n    # node.context[self.key] contains the uninitialized storage variables\n    key = \"UNINITIALIZEDSTORAGE\"\n\n    def _detect_uninitialized(self, function, node, visited):\n        if node in visited:\n            return\n\n        visited = visited + [node]\n\n        fathers_context = []\n\n        for father in node.fathers:\n            if self.key in father.context:\n                fathers_context += father.context[self.key]\n\n        # Exclude paths that dont bring further information\n        if node in self.visited_all_paths:\n            if all(f_c in self.visited_all_paths[node] for f_c in fathers_context):\n                return\n        else:\n            self.visited_all_paths[node] = []\n\n        self.visited_all_paths[node] = list(set(self.visited_all_paths[node] + fathers_context))\n\n        if self.key in node.context:\n            fathers_context += node.context[self.key]\n\n        variables_read = node.variables_read\n        for uninitialized_storage_variable in fathers_context:\n            if uninitialized_storage_variable in variables_read:\n                self.results.append((function, uninitialized_storage_variable))\n\n        # Only save the storage variables that are not yet written\n        uninitialized_storage_variables = list(set(fathers_context) - set(node.variables_written))\n        node.context[self.key] = uninitialized_storage_variables\n\n        for son in node.sons:\n            self._detect_uninitialized(function, son, visited)\n\n\n    def _detect(self):\n        \"\"\" Detect uninitialized storage variables\n\n        Recursively visit the calls\n        Returns:\n            dict: [contract name] = set(storage variable uninitialized)\n        \"\"\"\n        results = []\n\n        self.results = []\n        self.visited_all_paths = {}\n\n        for contract in self.slither.contracts:\n            for function in contract.functions:\n                if function.is_implemented:\n                    uninitialized_storage_variables = [v for v in function.local_variables if v.is_storage and v.uninitialized]\n                    function.entry_point.context[self.key] = uninitialized_storage_variables\n                    self._detect_uninitialized(function, function.entry_point, [])\n\n        for(function, uninitialized_storage_variable) in self.results:\n            info = [uninitialized_storage_variable, \" is a storage variable never initialiazed\\n\"]\n            json = self.generate_result(info)\n            results.append(json)\n\n        return results\n", "path": "slither/detectors/variables/uninitialized_storage_variables.py"}, {"content": "\"\"\"\n    Module detecting uninitialized local variables\n\n    Recursively explore the CFG to only report uninitialized local variables that are\n    read before being written\n\"\"\"\n\nfrom slither.detectors.abstract_detector import AbstractDetector, DetectorClassification\n\n\nclass UninitializedLocalVars(AbstractDetector):\n    \"\"\"\n    \"\"\"\n\n    ARGUMENT = 'uninitialized-local'\n    HELP = 'Uninitialized local variables'\n    IMPACT = DetectorClassification.MEDIUM\n    CONFIDENCE = DetectorClassification.MEDIUM\n\n    WIKI = 'https://github.com/crytic/slither/wiki/Detector-Documentation#uninitialized-local-variables'\n\n\n    WIKI_TITLE = 'Uninitialized local variables'\n    WIKI_DESCRIPTION = 'Uninitialized local variables.'\n    WIKI_EXPLOIT_SCENARIO = '''\n```solidity\ncontract Uninitialized is Owner{\n    function withdraw() payable public onlyOwner{\n        address to;\n        to.transfer(this.balance)\n    }\n}\n```\nBob calls `transfer`. As a result, the ethers are sent to the address 0x0 and are lost.'''\n\n    WIKI_RECOMMENDATION = 'Initialize all the variables. If a variable is meant to be initialized to zero, explicitly set it to zero.'\n\n    key = \"UNINITIALIZEDLOCAL\"\n\n    def _detect_uninitialized(self, function, node, visited):\n        if node in visited:\n            return\n\n        visited = visited + [node]\n\n        fathers_context = []\n\n        for father in node.fathers:\n            if self.key in father.context:\n                fathers_context += father.context[self.key]\n\n        # Exclude path that dont bring further information\n        if node in self.visited_all_paths:\n            if all(f_c in self.visited_all_paths[node] for f_c in fathers_context):\n                return\n        else:\n            self.visited_all_paths[node] = []\n\n        self.visited_all_paths[node] = list(set(self.visited_all_paths[node] + fathers_context))\n\n        if self.key in node.context:\n            fathers_context += node.context[self.key]\n\n        variables_read = node.variables_read\n        for uninitialized_local_variable in fathers_context:\n            if uninitialized_local_variable in variables_read:\n                self.results.append((function, uninitialized_local_variable))\n\n        # Only save the local variables that are not yet written\n        uninitialized_local_variables = list(set(fathers_context) - set(node.variables_written))\n        node.context[self.key] = uninitialized_local_variables\n\n        for son in node.sons:\n            self._detect_uninitialized(function, son, visited)\n\n\n    def _detect(self):\n        \"\"\" Detect uninitialized local variables\n\n        Recursively visit the calls\n        Returns:\n            dict: [contract name] = set(local variable uninitialized)\n        \"\"\"\n        results = []\n\n        self.results = []\n        self.visited_all_paths = {}\n\n        for contract in self.slither.contracts:\n            for function in contract.functions:\n                if function.is_implemented and function.contract_declarer == contract:\n                    if function.contains_assembly:\n                        continue\n                    # dont consider storage variable, as they are detected by another detector\n                    uninitialized_local_variables = [v for v in function.local_variables if not v.is_storage and v.uninitialized]\n                    function.entry_point.context[self.key] = uninitialized_local_variables\n                    self._detect_uninitialized(function, function.entry_point, [])\n        all_results = list(set(self.results))\n        for(function, uninitialized_local_variable) in all_results:\n\n            info = [uninitialized_local_variable, \" is a local variable never initialiazed\\n\"]\n            json = self.generate_result(info)\n            results.append(json)\n\n        return results\n", "path": "slither/detectors/variables/uninitialized_local_variables.py"}], "after_files": [{"content": "\"\"\"\n    Module detecting uninitialized storage variables\n\n    Recursively explore the CFG to only report uninitialized storage variables that are\n    written before being read\n\"\"\"\n\nfrom slither.detectors.abstract_detector import AbstractDetector, DetectorClassification\n\n\nclass UninitializedStorageVars(AbstractDetector):\n    \"\"\"\n    \"\"\"\n\n    ARGUMENT = 'uninitialized-storage'\n    HELP = 'Uninitialized storage variables'\n    IMPACT = DetectorClassification.HIGH\n    CONFIDENCE = DetectorClassification.HIGH\n\n    WIKI = 'https://github.com/crytic/slither/wiki/Detector-Documentation#uninitialized-storage-variables'\n\n    WIKI_TITLE = 'Uninitialized storage variables'\n    WIKI_DESCRIPTION = 'An uinitialized storage variable will act as a reference to the first state variable, and can override a critical variable.'\n    WIKI_EXPLOIT_SCENARIO = '''\n```solidity\ncontract Uninitialized{\n    address owner = msg.sender;\n\n    struct St{\n        uint a;\n    }\n\n    function func() {\n        St st;\n        st.a = 0x0;\n    }\n}\n```\nBob calls `func`. As a result, `owner` is override to 0.\n'''\n\n    WIKI_RECOMMENDATION = 'Initialize all the storage variables.'\n\n    # node.context[self.key] contains the uninitialized storage variables\n    key = \"UNINITIALIZEDSTORAGE\"\n\n    def _detect_uninitialized(self, function, node, visited):\n        if node in visited:\n            return\n\n        visited = visited + [node]\n\n        fathers_context = []\n\n        for father in node.fathers:\n            if self.key in father.context:\n                fathers_context += father.context[self.key]\n\n        # Exclude paths that dont bring further information\n        if node in self.visited_all_paths:\n            if all(f_c in self.visited_all_paths[node] for f_c in fathers_context):\n                return\n        else:\n            self.visited_all_paths[node] = []\n\n        self.visited_all_paths[node] = list(set(self.visited_all_paths[node] + fathers_context))\n\n        if self.key in node.context:\n            fathers_context += node.context[self.key]\n\n        variables_read = node.variables_read\n        for uninitialized_storage_variable in fathers_context:\n            if uninitialized_storage_variable in variables_read:\n                self.results.append((function, uninitialized_storage_variable))\n\n        # Only save the storage variables that are not yet written\n        uninitialized_storage_variables = list(set(fathers_context) - set(node.variables_written))\n        node.context[self.key] = uninitialized_storage_variables\n\n        for son in node.sons:\n            self._detect_uninitialized(function, son, visited)\n\n\n    def _detect(self):\n        \"\"\" Detect uninitialized storage variables\n\n        Recursively visit the calls\n        Returns:\n            dict: [contract name] = set(storage variable uninitialized)\n        \"\"\"\n        results = []\n\n        self.results = []\n        self.visited_all_paths = {}\n\n        for contract in self.slither.contracts:\n            for function in contract.functions:\n                if function.is_implemented:\n                    uninitialized_storage_variables = [v for v in function.local_variables if v.is_storage and v.uninitialized]\n                    function.entry_point.context[self.key] = uninitialized_storage_variables\n                    self._detect_uninitialized(function, function.entry_point, [])\n\n        for(function, uninitialized_storage_variable) in self.results:\n            info = [uninitialized_storage_variable, \" is a storage variable never initialized\\n\"]\n            json = self.generate_result(info)\n            results.append(json)\n\n        return results\n", "path": "slither/detectors/variables/uninitialized_storage_variables.py"}, {"content": "\"\"\"\n    Module detecting uninitialized local variables\n\n    Recursively explore the CFG to only report uninitialized local variables that are\n    read before being written\n\"\"\"\n\nfrom slither.detectors.abstract_detector import AbstractDetector, DetectorClassification\n\n\nclass UninitializedLocalVars(AbstractDetector):\n    \"\"\"\n    \"\"\"\n\n    ARGUMENT = 'uninitialized-local'\n    HELP = 'Uninitialized local variables'\n    IMPACT = DetectorClassification.MEDIUM\n    CONFIDENCE = DetectorClassification.MEDIUM\n\n    WIKI = 'https://github.com/crytic/slither/wiki/Detector-Documentation#uninitialized-local-variables'\n\n\n    WIKI_TITLE = 'Uninitialized local variables'\n    WIKI_DESCRIPTION = 'Uninitialized local variables.'\n    WIKI_EXPLOIT_SCENARIO = '''\n```solidity\ncontract Uninitialized is Owner{\n    function withdraw() payable public onlyOwner{\n        address to;\n        to.transfer(this.balance)\n    }\n}\n```\nBob calls `transfer`. As a result, the ethers are sent to the address 0x0 and are lost.'''\n\n    WIKI_RECOMMENDATION = 'Initialize all the variables. If a variable is meant to be initialized to zero, explicitly set it to zero.'\n\n    key = \"UNINITIALIZEDLOCAL\"\n\n    def _detect_uninitialized(self, function, node, visited):\n        if node in visited:\n            return\n\n        visited = visited + [node]\n\n        fathers_context = []\n\n        for father in node.fathers:\n            if self.key in father.context:\n                fathers_context += father.context[self.key]\n\n        # Exclude path that dont bring further information\n        if node in self.visited_all_paths:\n            if all(f_c in self.visited_all_paths[node] for f_c in fathers_context):\n                return\n        else:\n            self.visited_all_paths[node] = []\n\n        self.visited_all_paths[node] = list(set(self.visited_all_paths[node] + fathers_context))\n\n        if self.key in node.context:\n            fathers_context += node.context[self.key]\n\n        variables_read = node.variables_read\n        for uninitialized_local_variable in fathers_context:\n            if uninitialized_local_variable in variables_read:\n                self.results.append((function, uninitialized_local_variable))\n\n        # Only save the local variables that are not yet written\n        uninitialized_local_variables = list(set(fathers_context) - set(node.variables_written))\n        node.context[self.key] = uninitialized_local_variables\n\n        for son in node.sons:\n            self._detect_uninitialized(function, son, visited)\n\n\n    def _detect(self):\n        \"\"\" Detect uninitialized local variables\n\n        Recursively visit the calls\n        Returns:\n            dict: [contract name] = set(local variable uninitialized)\n        \"\"\"\n        results = []\n\n        self.results = []\n        self.visited_all_paths = {}\n\n        for contract in self.slither.contracts:\n            for function in contract.functions:\n                if function.is_implemented and function.contract_declarer == contract:\n                    if function.contains_assembly:\n                        continue\n                    # dont consider storage variable, as they are detected by another detector\n                    uninitialized_local_variables = [v for v in function.local_variables if not v.is_storage and v.uninitialized]\n                    function.entry_point.context[self.key] = uninitialized_local_variables\n                    self._detect_uninitialized(function, function.entry_point, [])\n        all_results = list(set(self.results))\n        for(function, uninitialized_local_variable) in all_results:\n\n            info = [uninitialized_local_variable, \" is a local variable never initialized\\n\"]\n            json = self.generate_result(info)\n            results.append(json)\n\n        return results\n", "path": "slither/detectors/variables/uninitialized_local_variables.py"}]}