Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Check for Python side-effects #269

Merged
merged 175 commits into from
Nov 9, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
175 commits
Select commit Hold shift + click to select a range
0672e7b
Add Python side-effects test.
khatchad Oct 13, 2023
89f55a8
More tests for side-effects.
khatchad Oct 16, 2023
8790bfc
Add list manipulation test.
khatchad Oct 16, 2023
2787b11
Progress.
khatchad Oct 16, 2023
4e38b13
Fix progress monitors.
khatchad Oct 16, 2023
399bb7c
Fix logs.
khatchad Oct 16, 2023
a5c029b
Fix checkstyle warning.
khatchad Oct 17, 2023
6a85b87
Fix exception message.
khatchad Oct 17, 2023
7255d4d
Merge branch 'side_effects' of https://github.com/ponder-lab/Hybridiz…
khatchad Oct 17, 2023
23fc5ab
Adjust indentation.
khatchad Oct 17, 2023
8a8ea13
Fix spelling.
khatchad Oct 17, 2023
3d2dd87
Progress.
khatchad Oct 17, 2023
8714c34
Progress.
khatchad Oct 17, 2023
889fdd7
Add (Python) side-effects to CSVs.
khatchad Oct 17, 2023
e5af9aa
Progress.
khatchad Oct 17, 2023
99272cb
Remove unused import.
khatchad Oct 18, 2023
081b132
Suppress warning.
khatchad Oct 18, 2023
25f766a
Change field name.
khatchad Oct 18, 2023
c676527
Fix compilation error.
khatchad Oct 18, 2023
18ebc57
Add transitive test.
khatchad Oct 18, 2023
3c57a76
Not having a switch default is OK.
khatchad Oct 18, 2023
a78e995
Add doc.
khatchad Oct 18, 2023
99b3d6b
Make static.
khatchad Oct 18, 2023
0c1f532
Remove unused import.
khatchad Oct 18, 2023
460aa31
Add doc.
khatchad Oct 18, 2023
75ff03a
Add helper method.
khatchad Oct 18, 2023
757094c
Fix doc.
khatchad Oct 18, 2023
40cf6a9
Add helper methods.
khatchad Oct 18, 2023
bc31996
Test transitive side-effects in different files.
khatchad Oct 18, 2023
e3cb664
Revert "Not having a switch default is OK."
khatchad Oct 18, 2023
175b7a6
Squelch warning about missing default case.
khatchad Oct 18, 2023
19467d9
Make methods static.
khatchad Oct 18, 2023
fc40482
Fix warning.
khatchad Oct 18, 2023
8c871c1
Add extra checks.
khatchad Oct 18, 2023
e24a5e4
Add side-effects checks to model tests.
khatchad Oct 18, 2023
7bc23b0
Fix comment.
khatchad Oct 18, 2023
1800dbf
Update comment.
khatchad Oct 18, 2023
dd5d366
Add a model test with Python side-effects.
khatchad Oct 18, 2023
8a3cdc8
Fix javadoc comment.
khatchad Oct 18, 2023
6ebbad6
Simplify test.
khatchad Oct 19, 2023
05261e7
Use our own ModRef.
khatchad Oct 19, 2023
675aa04
Simplify test.
khatchad Oct 19, 2023
cbff639
Use built-in function.
khatchad Oct 19, 2023
fe85106
Remove unnecessarily cast.
khatchad Oct 20, 2023
ea95aa6
Handle side-effects from print().
khatchad Oct 20, 2023
6de1905
We don't need tensorflow for this test.
khatchad Oct 20, 2023
1e67820
Add write() tests.
khatchad Oct 20, 2023
1e6e6d4
Update to ML 0.10.0-SNAPSHOT.
khatchad Oct 20, 2023
2f0352e
Require at least ML 0.9.0 for call graphs.
khatchad Oct 20, 2023
878a9c5
Fix method name.
khatchad Oct 23, 2023
5c599fd
Filter out metaprogramming locations.
khatchad Oct 23, 2023
d8774cb
Fix errors.
khatchad Oct 23, 2023
9077d4e
Don't print so much.
khatchad Oct 24, 2023
3793d63
Use defaults.
khatchad Oct 24, 2023
2eba547
Enable assertions for our project.
khatchad Oct 24, 2023
dc632e3
Add sanity check for side-effects.
khatchad Oct 24, 2023
f57432b
Use custom exception.
khatchad Oct 24, 2023
15b0afd
Use precomputed symbolic bundle name.
khatchad Oct 24, 2023
c09728d
Remove unused import.
khatchad Oct 24, 2023
1fa5be9
Format.
khatchad Oct 24, 2023
bc017a0
Shorten log.
khatchad Oct 24, 2023
0b0a0e7
Remove unused import.
khatchad Oct 24, 2023
eb3f921
Additional filtering.
khatchad Oct 24, 2023
14c2424
Log removed locations.
khatchad Oct 24, 2023
97e75a5
Only set side-effects once.
khatchad Oct 24, 2023
9f983b9
Change method name.
khatchad Oct 24, 2023
d42f263
Fix side-effects.
khatchad Oct 24, 2023
7225a23
Add log.
khatchad Oct 24, 2023
5cd363a
Cleanup test file.
khatchad Oct 24, 2023
48dfe80
Remove unused imports.
khatchad Oct 24, 2023
ef83ecb
List comprehensions aren't working.
khatchad Oct 24, 2023
3173961
Fix list comphrensions.
khatchad Oct 25, 2023
dfbf202
Simplify boolean.
khatchad Oct 25, 2023
53e7011
Switch expressions.
khatchad Oct 25, 2023
aabbd84
Additional side-effects tests.
khatchad Oct 25, 2023
9fa43c1
Add system property to dump call graphs.
khatchad Oct 25, 2023
73a9c16
Add assertions.
khatchad Oct 25, 2023
a093c2e
Suppress fall-through warning.
khatchad Oct 25, 2023
31e7ecf
Tests for transitive side-effects.
khatchad Oct 25, 2023
83fce2c
Add transitive list comphrension tests.
khatchad Oct 26, 2023
eff997c
Fix assertion messages.
khatchad Oct 26, 2023
f7feee1
More tests.
khatchad Oct 26, 2023
359ae14
Cleanup test file.
khatchad Oct 26, 2023
da6c3aa
Add comments.
khatchad Oct 26, 2023
66d5d23
Use helper method.
khatchad Oct 26, 2023
5987632
Consider list.append as having side-effects.
khatchad Oct 26, 2023
cbe0381
Remove unused import.
khatchad Oct 26, 2023
bca5bb9
Handle local pointer keys.
khatchad Oct 26, 2023
752eb39
Revert "Cleanup test file."
khatchad Oct 26, 2023
93b101f
Revert "Revert "Cleanup test file.""
khatchad Oct 26, 2023
9623754
Work around https://github.com/ponder-lab/Hybridize-Functions-Refacto…
khatchad Oct 26, 2023
26af352
Add parameter test case.
khatchad Oct 26, 2023
1e85172
Should suffice.
khatchad Oct 26, 2023
b63e2ca
Be more defensive.
khatchad Oct 26, 2023
0948eca
Make API more consistent wih WALA.
khatchad Oct 26, 2023
13a9022
Remove else clause.
khatchad Oct 26, 2023
0b9f25a
Progress.
khatchad Oct 26, 2023
ac85cec
More global keyword testing.
khatchad Oct 27, 2023
e2e2735
If thera are no creations, then I guess they're not in the function.
khatchad Oct 27, 2023
4e82566
Fix comment.
khatchad Oct 27, 2023
6bba964
Handle globals.
khatchad Oct 27, 2023
e84a3e3
Add FIXMEs.
khatchad Oct 27, 2023
57e9cfb
Fix globals.
khatchad Oct 27, 2023
05a0af1
Handle empty points-to set case.
khatchad Oct 27, 2023
b446460
Upgrade to Ariadne 0.11.0-SNAPSHOT.
khatchad Oct 30, 2023
ceb822a
Shorten method name.
khatchad Oct 30, 2023
15daf3a
Fix exception handling.
khatchad Oct 30, 2023
e052879
Use `this`.`
khatchad Oct 30, 2023
2b34b29
Cleanup.
khatchad Oct 30, 2023
5913774
Add Eclipse version to CONTRIBUTING.md.
khatchad Oct 31, 2023
9ceca36
Eclipse metadata updates.
khatchad Oct 31, 2023
fc7824c
Use PLUGIN_ID.
khatchad Oct 31, 2023
b5251cc
Additional parameter tests.
khatchad Oct 31, 2023
b53b425
Add side-effect test from docs.
khatchad Oct 31, 2023
dc7d59c
More side-effect testing from docs.
khatchad Oct 31, 2023
e604cdc
Add model side-effect tests.
khatchad Oct 31, 2023
98e54d8
Add TODO.
khatchad Oct 31, 2023
2e3f4f6
More side-effects tests from the docs.
khatchad Nov 1, 2023
687802e
Add tests for "All outputs of a tf.function must be return values."
khatchad Nov 1, 2023
a866ed4
Add leaky test.
khatchad Nov 2, 2023
a996a66
Add leaky test failure cases.
khatchad Nov 2, 2023
230f276
Progress on testing.
khatchad Nov 2, 2023
eae5ac4
Add captured leaked tensor case.
khatchad Nov 2, 2023
699177b
Add eager case for https://github.com/ponder-lab/Hybridize-Functions-…
khatchad Nov 2, 2023
7c12e21
Add missing period.
khatchad Nov 2, 2023
98c40e3
Add another leaky test.
khatchad Nov 2, 2023
e4264ca
Multiple errors on this test.
khatchad Nov 2, 2023
3c34208
More tests.
khatchad Nov 2, 2023
cdc66c4
Fail the test.
khatchad Nov 2, 2023
fae4c96
If there are no side-effects, then it could pass.
khatchad Nov 2, 2023
c9459d9
Add TODOs.
khatchad Nov 2, 2023
f4dad0b
Progress.
khatchad Nov 3, 2023
851e773
Add count failures only once sanity check.
khatchad Nov 3, 2023
5099386
Test code fixes.
khatchad Nov 3, 2023
762ca93
More test fixes.
khatchad Nov 3, 2023
34580b6
Fix test.
khatchad Nov 3, 2023
33ae3d7
Fix tests.
khatchad Nov 3, 2023
ef6863e
Remove unused precondition failures.
khatchad Nov 3, 2023
2cc58fc
Get statistics only on candidates.
khatchad Nov 3, 2023
62cbf48
Add severity level to failures.
khatchad Nov 3, 2023
7d1aa12
Print all statuses.
khatchad Nov 3, 2023
f4087d1
Add TODOs.
khatchad Nov 3, 2023
1d7013d
Don't revisit recursive calls.
khatchad Nov 6, 2023
0f68c16
Add refactoring kind to status outut.
khatchad Nov 6, 2023
af1aa3d
Shorten warning message.
khatchad Nov 6, 2023
7a4ad0e
Use function.
khatchad Nov 6, 2023
cf21780
Change else block to statement.
khatchad Nov 6, 2023
b3df810
Fix candidate detection.
khatchad Nov 6, 2023
97e6a2f
Fix warning about hybrid functions with side-effects.
khatchad Nov 6, 2023
ccc8c03
Fix candidate bug.
khatchad Nov 6, 2023
9737e68
Organize imports.
khatchad Nov 6, 2023
f711d94
Only output nodes in verbose mode.
khatchad Nov 6, 2023
df04cad
Update comment.
khatchad Nov 6, 2023
8306682
Organize imports.
khatchad Nov 6, 2023
36f7315
Use only one call graph node per function declaration.
khatchad Nov 6, 2023
efd7ce4
Fix warning.
khatchad Nov 6, 2023
dd7a6d7
Fix test.
khatchad Nov 6, 2023
482329a
Use accessor.
khatchad Nov 6, 2023
e890d11
Add caching to Python side-effects.
khatchad Nov 7, 2023
a54f674
Analyze functions in parallel.
khatchad Nov 7, 2023
5bcc963
Update comment.
khatchad Nov 7, 2023
c54341a
Conditionally check Python side-effects.
khatchad Nov 7, 2023
c7033b1
Use static import.
khatchad Nov 7, 2023
dd65812
Add side-effect test that uses keyword arguments.
khatchad Nov 7, 2023
8b9b346
Get the fix for https://github.com/wala/ML/issues/103.
khatchad Nov 7, 2023
438007e
Add embedded function test.
khatchad Nov 8, 2023
fa50a56
Optimizable functions should be taken from candidates.
khatchad Nov 8, 2023
9369958
Optimizable functions should be taken from candidates.
khatchad Nov 8, 2023
48d7581
Add decorated test.
khatchad Nov 8, 2023
c4ab93b
Add option to always check Python side-effects for the evaluator.
khatchad Nov 8, 2023
68b2225
Look for a specific function.
khatchad Nov 8, 2023
9075f4e
Revert "Look for a specific function."
khatchad Nov 9, 2023
617041b
Merge branch 'issue_284' into side_effects
khatchad Nov 9, 2023
12a721e
Run tests sequentially.
khatchad Nov 9, 2023
a587d2b
Merge branch 'main' into side_effects
khatchad Nov 9, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 1 addition & 2 deletions checkstyle.xml
Original file line number Diff line number Diff line change
Expand Up @@ -141,7 +141,6 @@
<module name="OneStatementPerLine"/>
<module name="MultipleVariableDeclarations"/>
<module name="ArrayTypeStyle"/>
<module name="MissingSwitchDefault"/>
<module name="FallThrough"/>
<module name="UpperEll"/>
<module name="ModifierOrder"/>
Expand Down Expand Up @@ -262,7 +261,7 @@
<property name="caseIndent" value="0"/>
<property name="throwsIndent" value="4"/>
<property name="lineWrappingIndentation" value="4"/>
<property name="arrayInitIndent" value="2"/>
<property name="arrayInitIndent" value="16"/>
</module>
<module name="AbbreviationAsWordInName">
<!-- <property name="ignoreFinal" value="false"/> -->
Expand Down
8 changes: 6 additions & 2 deletions edu.cuny.hunter.hybridize.core/META-INF/MANIFEST.MF
Original file line number Diff line number Diff line change
Expand Up @@ -19,14 +19,18 @@ Require-Bundle: org.eclipse.ltk.core.refactoring;bundle-version="3.12.200",
org.eclipse.core.resources;bundle-version="3.18.0",
org.eclipse.core.runtime;bundle-version="3.26.0",
com.ibm.wala.ide;bundle-version="1.6.2"
Import-Package: com.ibm.wala.cast.ipa.callgraph,
Import-Package: com.google.common.collect,
com.ibm.wala.cast.ipa.callgraph,
com.ibm.wala.cast.ir.ssa,
com.ibm.wala.cast.loader,
com.ibm.wala.cast.python.client;version="0.1.0",
com.ibm.wala.cast.python.ipa.callgraph,
com.ibm.wala.cast.python.ipa.callgraph;version="0.9.0",
com.ibm.wala.cast.python.loader;version="0.1.0",
com.ibm.wala.cast.python.ml.analysis;version="0.1.0",
com.ibm.wala.cast.python.ml.client;version="0.1.0",
com.ibm.wala.cast.python.modref;version="0.11.0",
com.ibm.wala.cast.python.ssa,
com.ibm.wala.cast.python.types,
com.ibm.wala.cast.python.util,
com.ibm.wala.cast.tree,
com.ibm.wala.classLoader,
Expand Down
Loading