SlideShare a Scribd company logo
1 of 5
Debugging TDS
decompose bug 111
       Fixed v99
 By Daniel Gomez-Prado
      09/16/2009

     Disclaimer: This is not a tutorial.

       This is a debugging session
       for anyone working on TDS

       http://www.dgomezpr.com/
Bug 111 at rev 88,…,99 on 09/09/16
                                                                                     b2
Trigger cmd: decompose
                                                                           a2
 Tds 01> poly (a+b)*(c+d+e*(a+b))
 Tds 02> bottom b
 Tds 03> bottom a
 Tds 04> linearize
 Tds 05> top a2
 Tds 06> top b2
 Tds 02> show -db
 Tds 03> decompose                                                                   e
                                                         e             e
    chains to extract:
    e*b1, a2*e, b2*e*b1
   PT1    PT2     PT3
                         problem!!                                b1            b1
 Tds 04> show -db
           // see next page for graph of the error



                                                Fixed on ver 99
Steps                      b2




                             e          Problem


                                 b1


                                      Solution must
                                      come at this point
extractProductTerm                    before passing to
-> removeTermFromContainer            another extraction
  -> oneProductTerm
Problem
While extracting PT3:
------------------------------------------
extractProductTerm
-> removeTermFromContainer
   -> oneProductTerm
------------------------------------------
    The chain b2*e*b1 is deleted
    because its top node b2 is not
    marked, then the whole chain is
    re-inserted again.


    Problem: sub-chain e*b1 was
    already extracted, and re-inserted
    as PT1. But now e*b1 is gone.
Solution:
1.   Right after finish extracting PT1


     1.   Check if its top node has parents
          1.   Normal case: (has no parents it’s a PO)
                   As we have just added this node to the container, and
                   we have not run the get parent, there should be no
                   parents for this node
          2.   Case Solution: (has parents in the container)
               •   Even though we removed these nodes, it turns out, that
                   the extracted form already existed in the container.
               •   Update the parents so they don’t point to the top of the
                   extraction, but to a single node with the same variable of
                   the extracted variable.
               •   Future chainOp (ie if we are in PT1, chains
                   corresponding to PT2 … PTn) need to be updated as
                   they still hold in their chains the nodes being replaced
                   by the extracted variable
     •    Solution taken.

More Related Content

Viewers also liked

Intel APJ Enterprise Day - Introduction to Intel Kabushiki Kaisha
Intel APJ Enterprise Day - Introduction to Intel Kabushiki KaishaIntel APJ Enterprise Day - Introduction to Intel Kabushiki Kaisha
Intel APJ Enterprise Day - Introduction to Intel Kabushiki KaishaIntelAPAC
 
2011 JavaOne Fun with EJB 3.1 and OpenEJB
2011 JavaOne Fun with EJB 3.1 and OpenEJB2011 JavaOne Fun with EJB 3.1 and OpenEJB
2011 JavaOne Fun with EJB 3.1 and OpenEJBDavid Blevins
 
212101 Object Oriented Analysis Design Through Uml
212101 Object Oriented Analysis Design Through Uml212101 Object Oriented Analysis Design Through Uml
212101 Object Oriented Analysis Design Through Umlguestd436758
 
The Secrets of Successful Content Marketing
The Secrets of Successful Content MarketingThe Secrets of Successful Content Marketing
The Secrets of Successful Content MarketingAct-On Software
 
[Journal] a feasibility study to buy metal plate press machine in pt. x
[Journal] a feasibility study to buy metal plate press machine in pt. x[Journal] a feasibility study to buy metal plate press machine in pt. x
[Journal] a feasibility study to buy metal plate press machine in pt. xWilliam Budiharsono
 
부동산직거래 플랫폼 사업 아이디어 제안서
부동산직거래 플랫폼 사업 아이디어 제안서부동산직거래 플랫폼 사업 아이디어 제안서
부동산직거래 플랫폼 사업 아이디어 제안서dukkubisesang
 
Segmentation Of Rural Market
Segmentation Of Rural MarketSegmentation Of Rural Market
Segmentation Of Rural Marketrobinslides
 
Asset Pipeline in Ruby on Rails
Asset Pipeline in Ruby on RailsAsset Pipeline in Ruby on Rails
Asset Pipeline in Ruby on RailsRORLAB
 
The break up
The break upThe break up
The break upJay Minii
 
The Holy Spirit - Part I
The Holy Spirit - Part IThe Holy Spirit - Part I
The Holy Spirit - Part IDevin Roush
 

Viewers also liked (13)

River of dreams
River of dreamsRiver of dreams
River of dreams
 
Intel APJ Enterprise Day - Introduction to Intel Kabushiki Kaisha
Intel APJ Enterprise Day - Introduction to Intel Kabushiki KaishaIntel APJ Enterprise Day - Introduction to Intel Kabushiki Kaisha
Intel APJ Enterprise Day - Introduction to Intel Kabushiki Kaisha
 
2011 JavaOne Fun with EJB 3.1 and OpenEJB
2011 JavaOne Fun with EJB 3.1 and OpenEJB2011 JavaOne Fun with EJB 3.1 and OpenEJB
2011 JavaOne Fun with EJB 3.1 and OpenEJB
 
212101 Object Oriented Analysis Design Through Uml
212101 Object Oriented Analysis Design Through Uml212101 Object Oriented Analysis Design Through Uml
212101 Object Oriented Analysis Design Through Uml
 
E24027033
E24027033E24027033
E24027033
 
The Secrets of Successful Content Marketing
The Secrets of Successful Content MarketingThe Secrets of Successful Content Marketing
The Secrets of Successful Content Marketing
 
[Journal] a feasibility study to buy metal plate press machine in pt. x
[Journal] a feasibility study to buy metal plate press machine in pt. x[Journal] a feasibility study to buy metal plate press machine in pt. x
[Journal] a feasibility study to buy metal plate press machine in pt. x
 
부동산직거래 플랫폼 사업 아이디어 제안서
부동산직거래 플랫폼 사업 아이디어 제안서부동산직거래 플랫폼 사업 아이디어 제안서
부동산직거래 플랫폼 사업 아이디어 제안서
 
Libraries 2020: Imagining the library of the (not too distant) future
Libraries 2020: Imagining the library of the (not too distant) futureLibraries 2020: Imagining the library of the (not too distant) future
Libraries 2020: Imagining the library of the (not too distant) future
 
Segmentation Of Rural Market
Segmentation Of Rural MarketSegmentation Of Rural Market
Segmentation Of Rural Market
 
Asset Pipeline in Ruby on Rails
Asset Pipeline in Ruby on RailsAsset Pipeline in Ruby on Rails
Asset Pipeline in Ruby on Rails
 
The break up
The break upThe break up
The break up
 
The Holy Spirit - Part I
The Holy Spirit - Part IThe Holy Spirit - Part I
The Holy Spirit - Part I
 

More from Daniel Gomez-Prado

More from Daniel Gomez-Prado (9)

Tutorial on FPGA Routing
Tutorial on FPGA RoutingTutorial on FPGA Routing
Tutorial on FPGA Routing
 
Design of an Embedded Micro controller
Design of an Embedded Micro controllerDesign of an Embedded Micro controller
Design of an Embedded Micro controller
 
TDS Manual
TDS ManualTDS Manual
TDS Manual
 
Brief GAUT tutorial
Brief GAUT tutorialBrief GAUT tutorial
Brief GAUT tutorial
 
Slideshare with animations
Slideshare with animationsSlideshare with animations
Slideshare with animations
 
unsplitted slideshare
unsplitted slideshareunsplitted slideshare
unsplitted slideshare
 
Basic data structures part I
Basic data structures part IBasic data structures part I
Basic data structures part I
 
TDS show bug 106
TDS show bug 106TDS show bug 106
TDS show bug 106
 
TDS Bug 221
TDS Bug 221TDS Bug 221
TDS Bug 221
 

Recently uploaded

Historical philosophical, theoretical, and legal foundations of special and i...
Historical philosophical, theoretical, and legal foundations of special and i...Historical philosophical, theoretical, and legal foundations of special and i...
Historical philosophical, theoretical, and legal foundations of special and i...jaredbarbolino94
 
Final demo Grade 9 for demo Plan dessert.pptx
Final demo Grade 9 for demo Plan dessert.pptxFinal demo Grade 9 for demo Plan dessert.pptx
Final demo Grade 9 for demo Plan dessert.pptxAvyJaneVismanos
 
Earth Day Presentation wow hello nice great
Earth Day Presentation wow hello nice greatEarth Day Presentation wow hello nice great
Earth Day Presentation wow hello nice greatYousafMalik24
 
CELL CYCLE Division Science 8 quarter IV.pptx
CELL CYCLE Division Science 8 quarter IV.pptxCELL CYCLE Division Science 8 quarter IV.pptx
CELL CYCLE Division Science 8 quarter IV.pptxJiesonDelaCerna
 
MARGINALIZATION (Different learners in Marginalized Group
MARGINALIZATION (Different learners in Marginalized GroupMARGINALIZATION (Different learners in Marginalized Group
MARGINALIZATION (Different learners in Marginalized GroupJonathanParaisoCruz
 
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptx
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptxECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptx
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptxiammrhaywood
 
Full Stack Web Development Course for Beginners
Full Stack Web Development Course  for BeginnersFull Stack Web Development Course  for Beginners
Full Stack Web Development Course for BeginnersSabitha Banu
 
Proudly South Africa powerpoint Thorisha.pptx
Proudly South Africa powerpoint Thorisha.pptxProudly South Africa powerpoint Thorisha.pptx
Proudly South Africa powerpoint Thorisha.pptxthorishapillay1
 
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...Marc Dusseiller Dusjagr
 
Pharmacognosy Flower 3. Compositae 2023.pdf
Pharmacognosy Flower 3. Compositae 2023.pdfPharmacognosy Flower 3. Compositae 2023.pdf
Pharmacognosy Flower 3. Compositae 2023.pdfMahmoud M. Sallam
 
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptxPOINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptxSayali Powar
 
Meghan Sutherland In Media Res Media Component
Meghan Sutherland In Media Res Media ComponentMeghan Sutherland In Media Res Media Component
Meghan Sutherland In Media Res Media ComponentInMediaRes1
 
Alper Gobel In Media Res Media Component
Alper Gobel In Media Res Media ComponentAlper Gobel In Media Res Media Component
Alper Gobel In Media Res Media ComponentInMediaRes1
 
ECONOMIC CONTEXT - LONG FORM TV DRAMA - PPT
ECONOMIC CONTEXT - LONG FORM TV DRAMA - PPTECONOMIC CONTEXT - LONG FORM TV DRAMA - PPT
ECONOMIC CONTEXT - LONG FORM TV DRAMA - PPTiammrhaywood
 
18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf
18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf
18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdfssuser54595a
 
Types of Journalistic Writing Grade 8.pptx
Types of Journalistic Writing Grade 8.pptxTypes of Journalistic Writing Grade 8.pptx
Types of Journalistic Writing Grade 8.pptxEyham Joco
 
Crayon Activity Handout For the Crayon A
Crayon Activity Handout For the Crayon ACrayon Activity Handout For the Crayon A
Crayon Activity Handout For the Crayon AUnboundStockton
 
Framing an Appropriate Research Question 6b9b26d93da94caf993c038d9efcdedb.pdf
Framing an Appropriate Research Question 6b9b26d93da94caf993c038d9efcdedb.pdfFraming an Appropriate Research Question 6b9b26d93da94caf993c038d9efcdedb.pdf
Framing an Appropriate Research Question 6b9b26d93da94caf993c038d9efcdedb.pdfUjwalaBharambe
 

Recently uploaded (20)

9953330565 Low Rate Call Girls In Rohini Delhi NCR
9953330565 Low Rate Call Girls In Rohini  Delhi NCR9953330565 Low Rate Call Girls In Rohini  Delhi NCR
9953330565 Low Rate Call Girls In Rohini Delhi NCR
 
Historical philosophical, theoretical, and legal foundations of special and i...
Historical philosophical, theoretical, and legal foundations of special and i...Historical philosophical, theoretical, and legal foundations of special and i...
Historical philosophical, theoretical, and legal foundations of special and i...
 
Final demo Grade 9 for demo Plan dessert.pptx
Final demo Grade 9 for demo Plan dessert.pptxFinal demo Grade 9 for demo Plan dessert.pptx
Final demo Grade 9 for demo Plan dessert.pptx
 
Earth Day Presentation wow hello nice great
Earth Day Presentation wow hello nice greatEarth Day Presentation wow hello nice great
Earth Day Presentation wow hello nice great
 
CELL CYCLE Division Science 8 quarter IV.pptx
CELL CYCLE Division Science 8 quarter IV.pptxCELL CYCLE Division Science 8 quarter IV.pptx
CELL CYCLE Division Science 8 quarter IV.pptx
 
MARGINALIZATION (Different learners in Marginalized Group
MARGINALIZATION (Different learners in Marginalized GroupMARGINALIZATION (Different learners in Marginalized Group
MARGINALIZATION (Different learners in Marginalized Group
 
OS-operating systems- ch04 (Threads) ...
OS-operating systems- ch04 (Threads) ...OS-operating systems- ch04 (Threads) ...
OS-operating systems- ch04 (Threads) ...
 
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptx
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptxECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptx
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptx
 
Full Stack Web Development Course for Beginners
Full Stack Web Development Course  for BeginnersFull Stack Web Development Course  for Beginners
Full Stack Web Development Course for Beginners
 
Proudly South Africa powerpoint Thorisha.pptx
Proudly South Africa powerpoint Thorisha.pptxProudly South Africa powerpoint Thorisha.pptx
Proudly South Africa powerpoint Thorisha.pptx
 
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...
 
Pharmacognosy Flower 3. Compositae 2023.pdf
Pharmacognosy Flower 3. Compositae 2023.pdfPharmacognosy Flower 3. Compositae 2023.pdf
Pharmacognosy Flower 3. Compositae 2023.pdf
 
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptxPOINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
 
Meghan Sutherland In Media Res Media Component
Meghan Sutherland In Media Res Media ComponentMeghan Sutherland In Media Res Media Component
Meghan Sutherland In Media Res Media Component
 
Alper Gobel In Media Res Media Component
Alper Gobel In Media Res Media ComponentAlper Gobel In Media Res Media Component
Alper Gobel In Media Res Media Component
 
ECONOMIC CONTEXT - LONG FORM TV DRAMA - PPT
ECONOMIC CONTEXT - LONG FORM TV DRAMA - PPTECONOMIC CONTEXT - LONG FORM TV DRAMA - PPT
ECONOMIC CONTEXT - LONG FORM TV DRAMA - PPT
 
18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf
18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf
18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf
 
Types of Journalistic Writing Grade 8.pptx
Types of Journalistic Writing Grade 8.pptxTypes of Journalistic Writing Grade 8.pptx
Types of Journalistic Writing Grade 8.pptx
 
Crayon Activity Handout For the Crayon A
Crayon Activity Handout For the Crayon ACrayon Activity Handout For the Crayon A
Crayon Activity Handout For the Crayon A
 
Framing an Appropriate Research Question 6b9b26d93da94caf993c038d9efcdedb.pdf
Framing an Appropriate Research Question 6b9b26d93da94caf993c038d9efcdedb.pdfFraming an Appropriate Research Question 6b9b26d93da94caf993c038d9efcdedb.pdf
Framing an Appropriate Research Question 6b9b26d93da94caf993c038d9efcdedb.pdf
 

TDS decompose bug 111

  • 1. Debugging TDS decompose bug 111 Fixed v99 By Daniel Gomez-Prado 09/16/2009 Disclaimer: This is not a tutorial. This is a debugging session for anyone working on TDS http://www.dgomezpr.com/
  • 2. Bug 111 at rev 88,…,99 on 09/09/16 b2 Trigger cmd: decompose a2 Tds 01> poly (a+b)*(c+d+e*(a+b)) Tds 02> bottom b Tds 03> bottom a Tds 04> linearize Tds 05> top a2 Tds 06> top b2 Tds 02> show -db Tds 03> decompose e e e chains to extract: e*b1, a2*e, b2*e*b1 PT1 PT2 PT3 problem!! b1 b1 Tds 04> show -db // see next page for graph of the error Fixed on ver 99
  • 3. Steps b2 e Problem b1 Solution must come at this point extractProductTerm before passing to -> removeTermFromContainer another extraction -> oneProductTerm
  • 4. Problem While extracting PT3: ------------------------------------------ extractProductTerm -> removeTermFromContainer -> oneProductTerm ------------------------------------------ The chain b2*e*b1 is deleted because its top node b2 is not marked, then the whole chain is re-inserted again. Problem: sub-chain e*b1 was already extracted, and re-inserted as PT1. But now e*b1 is gone.
  • 5. Solution: 1. Right after finish extracting PT1 1. Check if its top node has parents 1. Normal case: (has no parents it’s a PO) As we have just added this node to the container, and we have not run the get parent, there should be no parents for this node 2. Case Solution: (has parents in the container) • Even though we removed these nodes, it turns out, that the extracted form already existed in the container. • Update the parents so they don’t point to the top of the extraction, but to a single node with the same variable of the extracted variable. • Future chainOp (ie if we are in PT1, chains corresponding to PT2 … PTn) need to be updated as they still hold in their chains the nodes being replaced by the extracted variable • Solution taken.