From: jjenista Date: Wed, 17 Sep 2008 18:18:38 +0000 (+0000) Subject: current results of ownership analysis on benchmarks X-Git-Tag: buildscript^6~1 X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=494164a11f0dbb7b368d359c7713d6a5502572b6;p=IRC.git current results of ownership analysis on benchmarks --- diff --git a/Robust/src/Benchmarks/Ownership/BankApp.txt b/Robust/src/Benchmarks/Ownership/BankApp.txt new file mode 100644 index 00000000..5be6a43f --- /dev/null +++ b/Robust/src/Benchmarks/Ownership/BankApp.txt @@ -0,0 +1,9 @@ +Conducting ownership analysis with allocation depth = 3 +---------AcceptConnection(ServerSocket ss)-------- +Task AcceptConnection(ServerSocket ss) contains no aliases between flagged objects. + +---------ProcessRequest(BankAppSocket bas, BankDatabase Bank)-------- +Task ProcessRequest(BankAppSocket bas, BankDatabase Bank) contains no aliases between flagged objects. + +---------Startup(StartupObject s)-------- +Task Startup(StartupObject s) contains no aliases between flagged objects. diff --git a/Robust/src/Benchmarks/Ownership/ChatTag_ad3.txt b/Robust/src/Benchmarks/Ownership/ChatTag_ad3.txt new file mode 100644 index 00000000..2c53df63 --- /dev/null +++ b/Robust/src/Benchmarks/Ownership/ChatTag_ad3.txt @@ -0,0 +1,18 @@ +Conducting ownership analysis with allocation depth = 3 +---------ProcessRoom(ChatSocket cs, RoomObject ro)-------- +Potential alias between parameters 0 and 1. + +---------ReadRequest(ChatSocket cs, Socket s)-------- +Task ReadRequest(ChatSocket cs, Socket s) contains no aliases between flagged objects. + +---------SendMessage(Message m)-------- +Task SendMessage(Message m) contains no aliases between flagged objects. + +---------Message(ChatSocket cs, Socket s)-------- +Potential alias between parameter 0 and allocSite7. + +---------Startup(StartupObject s)-------- +Task Startup(StartupObject s) contains no aliases between flagged objects. + +---------AcceptConnection(ServerSocket ss)-------- +Potential alias between allocSite5 and allocSite16. diff --git a/Robust/src/Benchmarks/Ownership/ChatTag_ad9.txt b/Robust/src/Benchmarks/Ownership/ChatTag_ad9.txt new file mode 100644 index 00000000..52c61bc9 --- /dev/null +++ b/Robust/src/Benchmarks/Ownership/ChatTag_ad9.txt @@ -0,0 +1,18 @@ +Conducting ownership analysis with allocation depth = 9 +---------ProcessRoom(ChatSocket cs, RoomObject ro)-------- +Potential alias between parameters 0 and 1. + +---------ReadRequest(ChatSocket cs, Socket s)-------- +Task ReadRequest(ChatSocket cs, Socket s) contains no aliases between flagged objects. + +---------SendMessage(Message m)-------- +Task SendMessage(Message m) contains no aliases between flagged objects. + +---------Message(ChatSocket cs, Socket s)-------- +Potential alias between parameter 0 and allocSite7. + +---------Startup(StartupObject s)-------- +Task Startup(StartupObject s) contains no aliases between flagged objects. + +---------AcceptConnection(ServerSocket ss)-------- +Potential alias between allocSite5 and allocSite16. diff --git a/Robust/src/Benchmarks/Ownership/Conglomerator.txt b/Robust/src/Benchmarks/Ownership/Conglomerator.txt new file mode 100644 index 00000000..4c9d372c --- /dev/null +++ b/Robust/src/Benchmarks/Ownership/Conglomerator.txt @@ -0,0 +1,36 @@ +Conducting ownership analysis with allocation depth = 3 +---------LogRequest(WebServerSocket web, Logger log)-------- +Task LogRequest(WebServerSocket web, Logger log) contains no aliases between flagged objects. + +---------ReceiveQueryW(Weather l)-------- +Task ReceiveQueryW(Weather l) contains no aliases between flagged objects. + +---------LookupS(Stock l)-------- +Task LookupS(Stock l) contains no aliases between flagged objects. + +---------LookupG(Google l)-------- +Task LookupG(Google l) contains no aliases between flagged objects. + +---------Transaction(WebServerSocket web, Weather weather, Google g, MySocket s, Stock st)-------- +Task Transaction(WebServerSocket web, Weather weather, Google g, MySocket s, Stock st) contains no aliases between flagged objects. + +---------ReceiveQueryG(Google l)-------- +Task ReceiveQueryG(Google l) contains no aliases between flagged objects. + +---------SendFile(WebServerSocket web, MySocket s)-------- +Task SendFile(WebServerSocket web, MySocket s) contains no aliases between flagged objects. + +---------AcceptConnection(ServerSocket ss)-------- +Task AcceptConnection(ServerSocket ss) contains no aliases between flagged objects. + +---------ReceiveQueryS(Stock l)-------- +Task ReceiveQueryS(Stock l) contains no aliases between flagged objects. + +---------Startup(StartupObject s)-------- +Task Startup(StartupObject s) contains no aliases between flagged objects. + +---------ProcessRequest(WebServerSocket web, MySocket s)-------- +Task ProcessRequest(WebServerSocket web, MySocket s) contains no aliases between flagged objects. + +---------LookupW(Weather l)-------- +Task LookupW(Weather l) contains no aliases between flagged objects. diff --git a/Robust/src/Benchmarks/Ownership/MMGTag.txt b/Robust/src/Benchmarks/Ownership/MMGTag.txt new file mode 100644 index 00000000..56770e6d --- /dev/null +++ b/Robust/src/Benchmarks/Ownership/MMGTag.txt @@ -0,0 +1,38 @@ +Out of memory: + + +Previsiting public int Integer.intValue() +Previsiting public double Random.nextDouble() +Previsiting public void Vector.addElement(Object obj) +Previsiting private Vector.ensureCapacity(int minCapacity) +Previsiting public Map.Map(int nrofpacs, int nrofghosts) +Previsiting public Vector.Vector() +Previsiting private boolean Pacman.canFlee() +Previsiting updatePac(Map map, Pacman p) +Previsiting protected synchronized int Random.next(int bits) +Previsiting moveGhost(Ghost g) +Previsiting private boolean Ghost.BFS(int start, int parents, Vector cuts) +Previsiting public Pacman.Pacman(int x, int y, Map map) + +Analyzing next(Map map) +Analyzing private void Pacman.setNextDirection() +Analyzing public void Map.placeGhost(Ghost t) +Analyzing finish(Map map) +Analyzing public void Pacman.setTarget(int x, int y) +Analyzing next(Map map) +Analyzing startup(StartupObject s) +Analyzing public boolean Pacman.isFinish() +Analyzing public void Pacman.doMove() +Analyzing private boolean Ghost.isFollowing() +Analyzing public void Map.init() +Exception in thread "main" java.lang.OutOfMemoryError: Java heap space + at java.util.Hashtable.rehash(Hashtable.java:358) + at java.util.Hashtable.put(Hashtable.java:414) + at Analysis.OwnershipAnalysis.OwnershipGraph.getLabelNodeFromTemp(OwnershipGraph.java:59) + at Analysis.OwnershipAnalysis.OwnershipGraph.mergeOwnershipNodes(OwnershipGraph.java:1853) + at Analysis.OwnershipAnalysis.OwnershipGraph.merge(OwnershipGraph.java:1813) + at Analysis.OwnershipAnalysis.OwnershipAnalysis.analyzeFlatMethod(OwnershipAnalysis.java:412) + at Analysis.OwnershipAnalysis.OwnershipAnalysis.analyzeMethods(OwnershipAnalysis.java:347) + at Analysis.OwnershipAnalysis.OwnershipAnalysis.(OwnershipAnalysis.java:282) + at Main.Main.main(Main.java:466) + diff --git a/Robust/src/Benchmarks/Ownership/MapReduceTag.txt b/Robust/src/Benchmarks/Ownership/MapReduceTag.txt new file mode 100644 index 00000000..1f5c5c46 --- /dev/null +++ b/Robust/src/Benchmarks/Ownership/MapReduceTag.txt @@ -0,0 +1,46 @@ +Intractable: + +Analyzing startup(StartupObject s) +Analyzing public Master.Master(int m, int r, Splitter splitter) +Analyzing Object HashMap.put(Object key, Object value) +Analyzing public void ReduceWorker.sortgroup() +Analyzing sortgroup(ReduceWorker rworker) +Analyzing public ReduceWorker.ReduceWorker(Vector interoutputs, int id) +Analyzing public void Master.assignReduce() +exhaustiveArityCombinations numDimensions = 16 +x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x +x x x x x x x x x x x x x x x x x x x x x x x x x @ x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x +x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x @ x x x x +x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x +x x x x x x x x x x x x x x x x x x x x x @ exhaustiveArityCombinations numDimensions = 12 +x x x exhaustiveArityCombinations numDimensions = 24 +x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x +x x x x x x x x x x x x x x x x x x x x x x x x x @ x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x +x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x @ x x x x +x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x +x x x x x x x x x x x x x x x x x x x x x @ x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x +x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x @ x x x x x x x x +x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x +x x x x x x x x x x x x x x x x x @ x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x +x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x @ x x x x x x x x x x x x +x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x +x x x x x x x x x x x x x @ x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x +x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x @ x x x x x x x x x x x x x x x x +x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x +x x x x x x x x x @ # x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x +x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x @ x x x x x x x x x x x x x x x x x x x +x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x +x x x x x x @ x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x +x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x @ x x x x x x x x x x x x x x x x x x x x x x x +x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x +x x @ x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x +x x x x x x x x x x x x x x x x x x x x x x x x x x x x @ x x x x x x x x x x x x x x x x x x x x x x x x x x x +x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x @ x +x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x +x x x x x x x x x x x x x x x x x x x x x x x x @ x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x +x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x @ x x x x x +x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x +x x x x x x x x x x x x x x x x x x x x @ # x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x +x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x @ x x x x x x x x +x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x +x x x x x x x x x x x x x x x x x @ x x x x x x x x x x x x x x x x x x x x x x x x diff --git a/Robust/src/Benchmarks/Ownership/PERTTag.txt b/Robust/src/Benchmarks/Ownership/PERTTag.txt new file mode 100644 index 00000000..cf030783 --- /dev/null +++ b/Robust/src/Benchmarks/Ownership/PERTTag.txt @@ -0,0 +1,15 @@ +Conducting ownership analysis with allocation depth = 3 +---------prob(Estimator e)-------- +Task prob(Estimator e) contains no aliases between flagged objects. + +---------sampling(Stage s)-------- +Task sampling(Stage s) contains no aliases between flagged objects. + +---------startup(StartupObject s)-------- +Task startup(StartupObject s) contains no aliases between flagged objects. + +---------estimate(Estimator e, Stage s)-------- +Task estimate(Estimator e, Stage s) contains no aliases between flagged objects. + +---------estimateStage(Stage s)-------- +Task estimateStage(Stage s) contains no aliases between flagged objects. diff --git a/Robust/src/Benchmarks/Ownership/SchedulingFilterBank.txt b/Robust/src/Benchmarks/Ownership/SchedulingFilterBank.txt new file mode 100644 index 00000000..b71cc8ab --- /dev/null +++ b/Robust/src/Benchmarks/Ownership/SchedulingFilterBank.txt @@ -0,0 +1,12 @@ +Conducting ownership analysis with allocation depth = 3 +---------t2(FilterBankAtom fba)-------- +Task t2(FilterBankAtom fba) contains no aliases between flagged objects. + +---------t1(StartupObject s)-------- +Task t1(StartupObject s) contains no aliases between flagged objects. + +---------t3(FilterBank fb, FilterBankAtom fba)-------- +Task t3(FilterBank fb, FilterBankAtom fba) contains no aliases between flagged objects. + +---------t4(FilterBank fb)-------- +Task t4(FilterBank fb) contains no aliases between flagged objects. diff --git a/Robust/src/Benchmarks/Ownership/SchedulingJGFSeries.txt b/Robust/src/Benchmarks/Ownership/SchedulingJGFSeries.txt new file mode 100644 index 00000000..ed713abf --- /dev/null +++ b/Robust/src/Benchmarks/Ownership/SchedulingJGFSeries.txt @@ -0,0 +1,6 @@ +Conducting ownership analysis with allocation depth = 3 +---------t2(SeriesRunner sr)-------- +Task t2(SeriesRunner sr) contains no aliases between flagged objects. + +---------t1(StartupObject s)-------- +Task t1(StartupObject s) contains no aliases between flagged objects. diff --git a/Robust/src/Benchmarks/Ownership/SpiderBR.txt b/Robust/src/Benchmarks/Ownership/SpiderBR.txt new file mode 100644 index 00000000..87941810 --- /dev/null +++ b/Robust/src/Benchmarks/Ownership/SpiderBR.txt @@ -0,0 +1,16 @@ +intractable: + +Analyzing public String String.substring(int beginIndex, int endIndex) +Analyzing public String String.subString(int beginIndex, int endIndex) +Analyzing readResponse(Query q) +Analyzing public String Query.getHostName(String page) +Analyzing public String Query.makewebcanonical(String page) +Analyzing processPage(Query q, QueryList ql) +Analyzing public String Object.toString() +Analyzing public static String String.valueOf(Object o) +Analyzing public Query.Query(String hostname, String path) +Analyzing Startup(StartupObject s) +Analyzing processPage(Query q, QueryList ql) +exhaustiveArityCombinations numDimensions = 17 + + diff --git a/Robust/src/Benchmarks/Ownership/SpiderBRTag.txt b/Robust/src/Benchmarks/Ownership/SpiderBRTag.txt new file mode 100644 index 00000000..2aefd2aa --- /dev/null +++ b/Robust/src/Benchmarks/Ownership/SpiderBRTag.txt @@ -0,0 +1,21 @@ +intractable: + + +Analyzing public String Query.makewebcanonical(String page) +Analyzing processPage(Query q, QueryList ql) +Analyzing public String InetAddress.toString() +Analyzing public static String String.valueOf(Object o) +Analyzing readResponse(Query q, Socket s) +Analyzing public String Integer.toString() +Analyzing public static String String.valueOf(Object o) +Analyzing public String Query.getPathName(String page) +Analyzing processPage(Query q, QueryList ql) +Analyzing public String Query.makewebcanonical(String page) +Analyzing public Query.Query(String hostname, String path) +Analyzing processPage(Query q, QueryList ql) +exhaustiveArityCombinations numDimensions = 12 +x x x exhaustiveArityCombinations numDimensions = 12 +x x x exhaustiveArityCombinations numDimensions = 12 +x x x exhaustiveArityCombinations numDimensions = 24 +x x x x x x + diff --git a/Robust/src/Benchmarks/Ownership/TTTTag.txt b/Robust/src/Benchmarks/Ownership/TTTTag.txt new file mode 100644 index 00000000..e25112f4 --- /dev/null +++ b/Robust/src/Benchmarks/Ownership/TTTTag.txt @@ -0,0 +1,21 @@ +Conducting ownership analysis with allocation depth = 3 +---------GameOver(TTTServerSocket ttts, Board tttBoard, Socket s)-------- +Task GameOver(TTTServerSocket ttts, Board tttBoard, Socket s) contains no aliases between flagged objects. + +---------Startup(StartupObject s)-------- +Task Startup(StartupObject s) contains no aliases between flagged objects. + +---------ProcessMove(TTTServerSocket ttts, Board tttBoard)-------- +Task ProcessMove(TTTServerSocket ttts, Board tttBoard) contains no aliases between flagged objects. + +---------SendBoardDisplay(TTTServerSocket ttts, Board tttBoard, Socket s)-------- +Task SendBoardDisplay(TTTServerSocket ttts, Board tttBoard, Socket s) contains no aliases between flagged objects. + +---------AcceptConnection(ServerSocket ss)-------- +Task AcceptConnection(ServerSocket ss) contains no aliases between flagged objects. + +---------SendErrorMessage(TTTServerSocket ttts, Board tttBoard, Socket s)-------- +Task SendErrorMessage(TTTServerSocket ttts, Board tttBoard, Socket s) contains no aliases between flagged objects. + +---------ProcessRequest(TTTServerSocket ttts, Socket s)-------- +Task ProcessRequest(TTTServerSocket ttts, Socket s) contains no aliases between flagged objects. diff --git a/Robust/src/Benchmarks/Ownership/TileSearchTag.txt b/Robust/src/Benchmarks/Ownership/TileSearchTag.txt new file mode 100644 index 00000000..06256e30 --- /dev/null +++ b/Robust/src/Benchmarks/Ownership/TileSearchTag.txt @@ -0,0 +1,15 @@ +Conducting ownership analysis with allocation depth = 3 +---------findNewFits(SubProblem sp, GlobalCounter counter)-------- +Task findNewFits(SubProblem sp, GlobalCounter counter) contains no aliases between flagged objects. + +---------Startup(StartupObject s)-------- +Task Startup(StartupObject s) contains no aliases between flagged objects. + +---------findHighestScore(SubProblem pSp, SubProblem cSp, GlobalCounter counter)-------- +Task findHighestScore(SubProblem pSp, SubProblem cSp, GlobalCounter counter) contains no aliases between flagged objects. + +---------printHighestScore(SubProblem sp)-------- +Task printHighestScore(SubProblem sp) contains no aliases between flagged objects. + +---------scoreSubProbleam(SubProblem sp)-------- +Task scoreSubProbleam(SubProblem sp) contains no aliases between flagged objects. diff --git a/Robust/src/Benchmarks/Ownership/WebServerTag_ad3.txt b/Robust/src/Benchmarks/Ownership/WebServerTag_ad3.txt new file mode 100644 index 00000000..8201a982 --- /dev/null +++ b/Robust/src/Benchmarks/Ownership/WebServerTag_ad3.txt @@ -0,0 +1,18 @@ +Conducting ownership analysis with allocation depth = 3 +---------SendFile(WebServerSocket web, Socket s)-------- +Task SendFile(WebServerSocket web, Socket s) contains no aliases between flagged objects. + +---------ProcessRequest(WebServerSocket web, Socket s)-------- +Task ProcessRequest(WebServerSocket web, Socket s) contains no aliases between flagged objects. + +---------Transaction(WebServerSocket web, Inventory inventorylist, Socket s)-------- +Potential alias between parameters 0 and 1. + +---------LogRequest(WebServerSocket web, Logger log)-------- +Task LogRequest(WebServerSocket web, Logger log) contains no aliases between flagged objects. + +---------AcceptConnection(ServerSocket ss)-------- +Task AcceptConnection(ServerSocket ss) contains no aliases between flagged objects. + +---------Startup(StartupObject s)-------- +Task Startup(StartupObject s) contains no aliases between flagged objects. diff --git a/Robust/src/Benchmarks/Ownership/WebServerTag_ad9.txt b/Robust/src/Benchmarks/Ownership/WebServerTag_ad9.txt new file mode 100644 index 00000000..2e194df3 --- /dev/null +++ b/Robust/src/Benchmarks/Ownership/WebServerTag_ad9.txt @@ -0,0 +1,18 @@ +Conducting ownership analysis with allocation depth = 9 +---------SendFile(WebServerSocket web, Socket s)-------- +Task SendFile(WebServerSocket web, Socket s) contains no aliases between flagged objects. + +---------ProcessRequest(WebServerSocket web, Socket s)-------- +Task ProcessRequest(WebServerSocket web, Socket s) contains no aliases between flagged objects. + +---------Transaction(WebServerSocket web, Inventory inventorylist, Socket s)-------- +Potential alias between parameters 0 and 1. + +---------LogRequest(WebServerSocket web, Logger log)-------- +Task LogRequest(WebServerSocket web, Logger log) contains no aliases between flagged objects. + +---------AcceptConnection(ServerSocket ss)-------- +Task AcceptConnection(ServerSocket ss) contains no aliases between flagged objects. + +---------Startup(StartupObject s)-------- +Task Startup(StartupObject s) contains no aliases between flagged objects. diff --git a/Robust/src/Benchmarks/Ownership/makefile b/Robust/src/Benchmarks/Ownership/makefile index 12d2cc9c..36de4131 100644 --- a/Robust/src/Benchmarks/Ownership/makefile +++ b/Robust/src/Benchmarks/Ownership/makefile @@ -1,5 +1,5 @@ BUILDSCRIPT=~/research/Robust/src/buildscript -BSFLAGS= -recover -ownership -ownaliasfile aliases.txt -enable-assertions +BSFLAGS= -recover -ownership -ownaliasfile aliases.txt -enable-assertions #-flatirtasks AD3= -ownallocdepth 3 AD5= -ownallocdepth 5 AD9= -ownallocdepth 9 diff --git a/Robust/src/Benchmarks/Ownership/summary.txt b/Robust/src/Benchmarks/Ownership/summary.txt new file mode 100644 index 00000000..0614c6a3 --- /dev/null +++ b/Robust/src/Benchmarks/Ownership/summary.txt @@ -0,0 +1,23 @@ +No reported aliases in: +-BankApp +-Conglomerator +-PERTTag +-SchedulingFilterBank +-SchedulingJGFSeries +-TileSearchTag +-TTTTag + + +Aliases: +-ChatTag shows 3 tasks with aliases, with allocation depth = 3 or 9 +-WebServerTag shows 1 task with aliases, ad=3 or 9 + + +Out of Memory: +-MMGTag + + +Intractable: +-MapReduceTag quit at exhaustive arity dimension = 24 +-SpiderBRTag quit at d=24 +-SpiderBR quit at d=17