sflkit 0.5.2__tar.gz → 0.5.3__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (83) hide show
  1. {sflkit-0.5.2/src/sflkit.egg-info → sflkit-0.5.3}/PKG-INFO +1 -1
  2. {sflkit-0.5.2 → sflkit-0.5.3}/src/sflkit/__init__.py +1 -1
  3. {sflkit-0.5.2 → sflkit-0.5.3}/src/sflkit/analysis/factory.py +17 -18
  4. {sflkit-0.5.2 → sflkit-0.5.3}/src/sflkit/features/vector.py +1 -1
  5. {sflkit-0.5.2 → sflkit-0.5.3}/src/sflkit/model/parallel.py +6 -4
  6. {sflkit-0.5.2 → sflkit-0.5.3/src/sflkit.egg-info}/PKG-INFO +1 -1
  7. {sflkit-0.5.2 → sflkit-0.5.3}/LICENSE +0 -0
  8. {sflkit-0.5.2 → sflkit-0.5.3}/README.md +0 -0
  9. {sflkit-0.5.2 → sflkit-0.5.3}/pyproject.toml +0 -0
  10. {sflkit-0.5.2 → sflkit-0.5.3}/setup.cfg +0 -0
  11. {sflkit-0.5.2 → sflkit-0.5.3}/src/sflkit/analysis/__init__.py +0 -0
  12. {sflkit-0.5.2 → sflkit-0.5.3}/src/sflkit/analysis/analysis_type.py +0 -0
  13. {sflkit-0.5.2 → sflkit-0.5.3}/src/sflkit/analysis/analyzer.py +0 -0
  14. {sflkit-0.5.2 → sflkit-0.5.3}/src/sflkit/analysis/mapping.py +0 -0
  15. {sflkit-0.5.2 → sflkit-0.5.3}/src/sflkit/analysis/predicate.py +0 -0
  16. {sflkit-0.5.2 → sflkit-0.5.3}/src/sflkit/analysis/similarity.py +0 -0
  17. {sflkit-0.5.2 → sflkit-0.5.3}/src/sflkit/analysis/spectra.py +0 -0
  18. {sflkit-0.5.2 → sflkit-0.5.3}/src/sflkit/analysis/suggestion.py +0 -0
  19. {sflkit-0.5.2 → sflkit-0.5.3}/src/sflkit/cli.py +0 -0
  20. {sflkit-0.5.2 → sflkit-0.5.3}/src/sflkit/color.py +0 -0
  21. {sflkit-0.5.2 → sflkit-0.5.3}/src/sflkit/config.py +0 -0
  22. {sflkit-0.5.2 → sflkit-0.5.3}/src/sflkit/evaluation.py +0 -0
  23. {sflkit-0.5.2 → sflkit-0.5.3}/src/sflkit/events/__init__.py +0 -0
  24. {sflkit-0.5.2 → sflkit-0.5.3}/src/sflkit/events/event_file.py +0 -0
  25. {sflkit-0.5.2 → sflkit-0.5.3}/src/sflkit/events/mapping.py +0 -0
  26. {sflkit-0.5.2 → sflkit-0.5.3}/src/sflkit/features/__init__.py +0 -0
  27. {sflkit-0.5.2 → sflkit-0.5.3}/src/sflkit/features/handler.py +0 -0
  28. {sflkit-0.5.2 → sflkit-0.5.3}/src/sflkit/features/value.py +0 -0
  29. {sflkit-0.5.2 → sflkit-0.5.3}/src/sflkit/instrumentation/__init__.py +0 -0
  30. {sflkit-0.5.2 → sflkit-0.5.3}/src/sflkit/instrumentation/dir_instrumentation.py +0 -0
  31. {sflkit-0.5.2 → sflkit-0.5.3}/src/sflkit/instrumentation/file_instrumentation.py +0 -0
  32. {sflkit-0.5.2 → sflkit-0.5.3}/src/sflkit/language/__init__.py +0 -0
  33. {sflkit-0.5.2 → sflkit-0.5.3}/src/sflkit/language/extract.py +0 -0
  34. {sflkit-0.5.2 → sflkit-0.5.3}/src/sflkit/language/finder.py +0 -0
  35. {sflkit-0.5.2 → sflkit-0.5.3}/src/sflkit/language/java/__init__.py +0 -0
  36. {sflkit-0.5.2 → sflkit-0.5.3}/src/sflkit/language/java/extract.py +0 -0
  37. {sflkit-0.5.2 → sflkit-0.5.3}/src/sflkit/language/java/factory.py +0 -0
  38. {sflkit-0.5.2 → sflkit-0.5.3}/src/sflkit/language/java/finder.py +0 -0
  39. {sflkit-0.5.2 → sflkit-0.5.3}/src/sflkit/language/java/visitor.py +0 -0
  40. {sflkit-0.5.2 → sflkit-0.5.3}/src/sflkit/language/language.py +0 -0
  41. {sflkit-0.5.2 → sflkit-0.5.3}/src/sflkit/language/meta.py +0 -0
  42. {sflkit-0.5.2 → sflkit-0.5.3}/src/sflkit/language/python/__init__.py +0 -0
  43. {sflkit-0.5.2 → sflkit-0.5.3}/src/sflkit/language/python/extract.py +0 -0
  44. {sflkit-0.5.2 → sflkit-0.5.3}/src/sflkit/language/python/factory.py +0 -0
  45. {sflkit-0.5.2 → sflkit-0.5.3}/src/sflkit/language/python/finder.py +0 -0
  46. {sflkit-0.5.2 → sflkit-0.5.3}/src/sflkit/language/python/visitor.py +0 -0
  47. {sflkit-0.5.2 → sflkit-0.5.3}/src/sflkit/language/visitor.py +0 -0
  48. {sflkit-0.5.2 → sflkit-0.5.3}/src/sflkit/logger.py +0 -0
  49. {sflkit-0.5.2 → sflkit-0.5.3}/src/sflkit/model/__init__.py +0 -0
  50. {sflkit-0.5.2 → sflkit-0.5.3}/src/sflkit/model/model.py +0 -0
  51. {sflkit-0.5.2 → sflkit-0.5.3}/src/sflkit/model/scope.py +0 -0
  52. {sflkit-0.5.2 → sflkit-0.5.3}/src/sflkit/runners/__init__.py +0 -0
  53. {sflkit-0.5.2 → sflkit-0.5.3}/src/sflkit/runners/run.py +0 -0
  54. {sflkit-0.5.2 → sflkit-0.5.3}/src/sflkit/weights/__init__.py +0 -0
  55. {sflkit-0.5.2 → sflkit-0.5.3}/src/sflkit/weights/analyzer.py +0 -0
  56. {sflkit-0.5.2 → sflkit-0.5.3}/src/sflkit/weights/models.py +0 -0
  57. {sflkit-0.5.2 → sflkit-0.5.3}/src/sflkit.egg-info/SOURCES.txt +0 -0
  58. {sflkit-0.5.2 → sflkit-0.5.3}/src/sflkit.egg-info/dependency_links.txt +0 -0
  59. {sflkit-0.5.2 → sflkit-0.5.3}/src/sflkit.egg-info/entry_points.txt +0 -0
  60. {sflkit-0.5.2 → sflkit-0.5.3}/src/sflkit.egg-info/requires.txt +0 -0
  61. {sflkit-0.5.2 → sflkit-0.5.3}/src/sflkit.egg-info/top_level.txt +0 -0
  62. {sflkit-0.5.2 → sflkit-0.5.3}/tests/test_analysis_objects.py +0 -0
  63. {sflkit-0.5.2 → sflkit-0.5.3}/tests/test_analyzer.py +0 -0
  64. {sflkit-0.5.2 → sflkit-0.5.3}/tests/test_cli.py +0 -0
  65. {sflkit-0.5.2 → sflkit-0.5.3}/tests/test_color.py +0 -0
  66. {sflkit-0.5.2 → sflkit-0.5.3}/tests/test_config.py +0 -0
  67. {sflkit-0.5.2 → sflkit-0.5.3}/tests/test_coverage.py +0 -0
  68. {sflkit-0.5.2 → sflkit-0.5.3}/tests/test_dependency_weights.py +0 -0
  69. {sflkit-0.5.2 → sflkit-0.5.3}/tests/test_evaluation.py +0 -0
  70. {sflkit-0.5.2 → sflkit-0.5.3}/tests/test_events.py +0 -0
  71. {sflkit-0.5.2 → sflkit-0.5.3}/tests/test_execution.py +0 -0
  72. {sflkit-0.5.2 → sflkit-0.5.3}/tests/test_features.py +0 -0
  73. {sflkit-0.5.2 → sflkit-0.5.3}/tests/test_instrumentation.py +0 -0
  74. {sflkit-0.5.2 → sflkit-0.5.3}/tests/test_language.py +0 -0
  75. {sflkit-0.5.2 → sflkit-0.5.3}/tests/test_parallelization.py +0 -0
  76. {sflkit-0.5.2 → sflkit-0.5.3}/tests/test_predicates.py +0 -0
  77. {sflkit-0.5.2 → sflkit-0.5.3}/tests/test_runner.py +0 -0
  78. {sflkit-0.5.2 → sflkit-0.5.3}/tests/test_runner_parallel.py +0 -0
  79. {sflkit-0.5.2 → sflkit-0.5.3}/tests/test_runner_pytest_versions.py +0 -0
  80. {sflkit-0.5.2 → sflkit-0.5.3}/tests/test_scope.py +0 -0
  81. {sflkit-0.5.2 → sflkit-0.5.3}/tests/test_spectra.py +0 -0
  82. {sflkit-0.5.2 → sflkit-0.5.3}/tests/test_suggestions.py +0 -0
  83. {sflkit-0.5.2 → sflkit-0.5.3}/tests/test_visitors.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: sflkit
3
- Version: 0.5.2
3
+ Version: 0.5.3
4
4
  Summary: SFLKit: : A Workbench for Statistical Fault Localization
5
5
  Author-email: Marius Smytzek <marius.smytzek@cispa.de>
6
6
  Project-URL: Homepage, https://github.com/smythi93/sflkit/
@@ -6,7 +6,7 @@ from sflkit.config import Config, parse_config
6
6
  from sflkit.instrumentation.dir_instrumentation import DirInstrumentation
7
7
 
8
8
 
9
- __version__ = "0.5.2"
9
+ __version__ = "0.5.3"
10
10
 
11
11
 
12
12
  def instrument_config(conf: Config):
@@ -267,24 +267,23 @@ class ScalarPairFactory(ComparisonFactory):
267
267
  for types in (["int", "float", "bool"], ["str"], ["bytes"]):
268
268
  if event.type_ in types:
269
269
  for variable in variables:
270
- if variable.var != event.var:
271
- if variable.type_ in types:
272
- for comp in self.comparators:
273
- key = (
274
- ScalarPair.analysis_type(),
275
- event.file,
276
- event.line,
277
- event.var,
278
- variable.var,
279
- comp,
280
- types[0],
281
- )
282
- with self._lock:
283
- if key not in self.objects:
284
- self.objects[key] = ScalarPair(
285
- event, comp, variable.var
286
- )
287
- objects.append(self.objects[key])
270
+ if variable.type_ in types:
271
+ for comp in self.comparators:
272
+ key = (
273
+ ScalarPair.analysis_type(),
274
+ event.file,
275
+ event.line,
276
+ event.var,
277
+ variable.var,
278
+ comp,
279
+ types[0],
280
+ )
281
+ with self._lock:
282
+ if key not in self.objects:
283
+ self.objects[key] = ScalarPair(
284
+ event, comp, variable.var
285
+ )
286
+ objects.append(self.objects[key])
288
287
  else:
289
288
  for variable in variables:
290
289
  if variable.type_ == event.type_:
@@ -9,7 +9,7 @@ from sflkit.runners.run import TestResult
9
9
  class FeatureVector:
10
10
  def __init__(
11
11
  self,
12
- run_id: EventFile,
12
+ run_id: EventFile | int,
13
13
  result: TestResult,
14
14
  ):
15
15
  self.run_id = run_id
@@ -42,7 +42,7 @@ class ParallelModel(Model):
42
42
  self.returns[event_file].add(
43
43
  event.function, event.return_value, event.type_
44
44
  )
45
- self.handle_event(event, event_file, self.returns)
45
+ self.handle_event(event, event_file, self.returns[event_file])
46
46
  else:
47
47
  self.returns_map[event_file].setdefault(event.thread_id, Scope()).add(
48
48
  event.function, event.return_value, event.type_
@@ -67,10 +67,10 @@ class ParallelModel(Model):
67
67
  def handle_def_event(self, event: DefEvent, event_file: EventFile):
68
68
  if event.thread_id is None:
69
69
  self.variables[event_file].add(event.var, event.value, event.type_)
70
- self.handle_event(event, event_file, self.variables)
70
+ self.handle_event(event, event_file, self.variables[event_file])
71
71
  else:
72
72
  self.variables_map[event_file].setdefault(
73
- event.thread_id, self.variables
73
+ event.thread_id, self.variables[event_file]
74
74
  ).add(event.var, event.value, event.type_)
75
75
  self.handle_event(
76
76
  event, event_file, self.variables_map[event_file][event.thread_id]
@@ -83,7 +83,9 @@ class ParallelModel(Model):
83
83
  self.handle_event(
84
84
  event,
85
85
  event_file,
86
- self.variables_map[event_file].get(event.thread_id, self.variables),
86
+ self.variables_map[event_file].get(
87
+ event.thread_id, self.variables[event_file]
88
+ ),
87
89
  )
88
90
 
89
91
  def enter_parallel_scope(self, thread_id: int, event_file: EventFile):
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: sflkit
3
- Version: 0.5.2
3
+ Version: 0.5.3
4
4
  Summary: SFLKit: : A Workbench for Statistical Fault Localization
5
5
  Author-email: Marius Smytzek <marius.smytzek@cispa.de>
6
6
  Project-URL: Homepage, https://github.com/smythi93/sflkit/
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes