SlideShare a Scribd company logo
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

River of dreams
River of dreamsRiver of dreams
River of dreams
Adriana Nastase
 
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
IntelAPAC
 
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
David 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 Uml
guestd436758
 
E24027033
E24027033E24027033
E24027033
IJERA Editor
 
The Secrets of Successful Content Marketing
The Secrets of Successful Content MarketingThe Secrets of Successful Content Marketing
The Secrets of Successful Content Marketing
Act-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. x
William Budiharsono
 
부동산직거래 플랫폼 사업 아이디어 제안서
부동산직거래 플랫폼 사업 아이디어 제안서부동산직거래 플랫폼 사업 아이디어 제안서
부동산직거래 플랫폼 사업 아이디어 제안서
dukkubisesang
 
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
Pew Research Center's Internet & American Life Project
 
Segmentation Of Rural Market
Segmentation Of Rural MarketSegmentation Of Rural Market
Segmentation Of Rural Market
robinslides
 
Asset Pipeline in Ruby on Rails
Asset Pipeline in Ruby on RailsAsset Pipeline in Ruby on Rails
Asset Pipeline in Ruby on Rails
RORLAB
 
The break up
The break upThe break up
The break up
Jay Minii
 
The Holy Spirit - Part I
The Holy Spirit - Part IThe Holy Spirit - Part I
The Holy Spirit - Part I
Devin 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

Tutorial on FPGA Routing
Tutorial on FPGA RoutingTutorial on FPGA Routing
Tutorial on FPGA Routing
Daniel Gomez-Prado
 
Design of an Embedded Micro controller
Design of an Embedded Micro controllerDesign of an Embedded Micro controller
Design of an Embedded Micro controller
Daniel Gomez-Prado
 
TDS Manual
TDS ManualTDS Manual
TDS Manual
Daniel Gomez-Prado
 
Brief GAUT tutorial
Brief GAUT tutorialBrief GAUT tutorial
Brief GAUT tutorial
Daniel Gomez-Prado
 
Slideshare with animations
Slideshare with animationsSlideshare with animations
Slideshare with animations
Daniel Gomez-Prado
 
unsplitted slideshare
unsplitted slideshareunsplitted slideshare
unsplitted slideshare
Daniel Gomez-Prado
 
Basic data structures part I
Basic data structures part IBasic data structures part I
Basic data structures part I
Daniel Gomez-Prado
 
TDS show bug 106
TDS show bug 106TDS show bug 106
TDS show bug 106
Daniel Gomez-Prado
 
TDS Bug 221
TDS Bug 221TDS Bug 221
TDS Bug 221
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

Your Skill Boost Masterclass: Strategies for Effective Upskilling
Your Skill Boost Masterclass: Strategies for Effective UpskillingYour Skill Boost Masterclass: Strategies for Effective Upskilling
Your Skill Boost Masterclass: Strategies for Effective Upskilling
Excellence Foundation for South Sudan
 
spot a liar (Haiqa 146).pptx Technical writhing and presentation skills
spot a liar (Haiqa 146).pptx Technical writhing and presentation skillsspot a liar (Haiqa 146).pptx Technical writhing and presentation skills
spot a liar (Haiqa 146).pptx Technical writhing and presentation skills
haiqairshad
 
Beyond Degrees - Empowering the Workforce in the Context of Skills-First.pptx
Beyond Degrees - Empowering the Workforce in the Context of Skills-First.pptxBeyond Degrees - Empowering the Workforce in the Context of Skills-First.pptx
Beyond Degrees - Empowering the Workforce in the Context of Skills-First.pptx
EduSkills OECD
 
Présentationvvvvvvvvvvvvvvvvvvvvvvvvvvvv2.pptx
Présentationvvvvvvvvvvvvvvvvvvvvvvvvvvvv2.pptxPrésentationvvvvvvvvvvvvvvvvvvvvvvvvvvvv2.pptx
Présentationvvvvvvvvvvvvvvvvvvvvvvvvvvvv2.pptx
siemaillard
 
PCOS corelations and management through Ayurveda.
PCOS corelations and management through Ayurveda.PCOS corelations and management through Ayurveda.
PCOS corelations and management through Ayurveda.
Dr. Shivangi Singh Parihar
 
How to Make a Field Mandatory in Odoo 17
How to Make a Field Mandatory in Odoo 17How to Make a Field Mandatory in Odoo 17
How to Make a Field Mandatory in Odoo 17
Celine George
 
Cognitive Development Adolescence Psychology
Cognitive Development Adolescence PsychologyCognitive Development Adolescence Psychology
Cognitive Development Adolescence Psychology
paigestewart1632
 
BÀI TẬP BỔ TRỢ TIẾNG ANH LỚP 9 CẢ NĂM - GLOBAL SUCCESS - NĂM HỌC 2024-2025 - ...
BÀI TẬP BỔ TRỢ TIẾNG ANH LỚP 9 CẢ NĂM - GLOBAL SUCCESS - NĂM HỌC 2024-2025 - ...BÀI TẬP BỔ TRỢ TIẾNG ANH LỚP 9 CẢ NĂM - GLOBAL SUCCESS - NĂM HỌC 2024-2025 - ...
BÀI TẬP BỔ TRỢ TIẾNG ANH LỚP 9 CẢ NĂM - GLOBAL SUCCESS - NĂM HỌC 2024-2025 - ...
Nguyen Thanh Tu Collection
 
Leveraging Generative AI to Drive Nonprofit Innovation
Leveraging Generative AI to Drive Nonprofit InnovationLeveraging Generative AI to Drive Nonprofit Innovation
Leveraging Generative AI to Drive Nonprofit Innovation
TechSoup
 
Wound healing PPT
Wound healing PPTWound healing PPT
Wound healing PPT
Jyoti Chand
 
Main Java[All of the Base Concepts}.docx
Main Java[All of the Base Concepts}.docxMain Java[All of the Base Concepts}.docx
Main Java[All of the Base Concepts}.docx
adhitya5119
 
LAND USE LAND COVER AND NDVI OF MIRZAPUR DISTRICT, UP
LAND USE LAND COVER AND NDVI OF MIRZAPUR DISTRICT, UPLAND USE LAND COVER AND NDVI OF MIRZAPUR DISTRICT, UP
LAND USE LAND COVER AND NDVI OF MIRZAPUR DISTRICT, UP
RAHUL
 
Hindi varnamala | hindi alphabet PPT.pdf
Hindi varnamala | hindi alphabet PPT.pdfHindi varnamala | hindi alphabet PPT.pdf
Hindi varnamala | hindi alphabet PPT.pdf
Dr. Mulla Adam Ali
 
Chapter 4 - Islamic Financial Institutions in Malaysia.pptx
Chapter 4 - Islamic Financial Institutions in Malaysia.pptxChapter 4 - Islamic Financial Institutions in Malaysia.pptx
Chapter 4 - Islamic Financial Institutions in Malaysia.pptx
Mohd Adib Abd Muin, Senior Lecturer at Universiti Utara Malaysia
 
Film vocab for eal 3 students: Australia the movie
Film vocab for eal 3 students: Australia the movieFilm vocab for eal 3 students: Australia the movie
Film vocab for eal 3 students: Australia the movie
Nicholas Montgomery
 
BBR 2024 Summer Sessions Interview Training
BBR  2024 Summer Sessions Interview TrainingBBR  2024 Summer Sessions Interview Training
BBR 2024 Summer Sessions Interview Training
Katrina Pritchard
 
Chapter wise All Notes of First year Basic Civil Engineering.pptx
Chapter wise All Notes of First year Basic Civil Engineering.pptxChapter wise All Notes of First year Basic Civil Engineering.pptx
Chapter wise All Notes of First year Basic Civil Engineering.pptx
Denish Jangid
 
Liberal Approach to the Study of Indian Politics.pdf
Liberal Approach to the Study of Indian Politics.pdfLiberal Approach to the Study of Indian Politics.pdf
Liberal Approach to the Study of Indian Politics.pdf
WaniBasim
 
คำศัพท์ คำพื้นฐานการอ่าน ภาษาอังกฤษ ระดับชั้น ม.1
คำศัพท์ คำพื้นฐานการอ่าน ภาษาอังกฤษ ระดับชั้น ม.1คำศัพท์ คำพื้นฐานการอ่าน ภาษาอังกฤษ ระดับชั้น ม.1
คำศัพท์ คำพื้นฐานการอ่าน ภาษาอังกฤษ ระดับชั้น ม.1
สมใจ จันสุกสี
 
MARY JANE WILSON, A “BOA MÃE” .
MARY JANE WILSON, A “BOA MÃE”           .MARY JANE WILSON, A “BOA MÃE”           .
MARY JANE WILSON, A “BOA MÃE” .
Colégio Santa Teresinha
 

Recently uploaded (20)

Your Skill Boost Masterclass: Strategies for Effective Upskilling
Your Skill Boost Masterclass: Strategies for Effective UpskillingYour Skill Boost Masterclass: Strategies for Effective Upskilling
Your Skill Boost Masterclass: Strategies for Effective Upskilling
 
spot a liar (Haiqa 146).pptx Technical writhing and presentation skills
spot a liar (Haiqa 146).pptx Technical writhing and presentation skillsspot a liar (Haiqa 146).pptx Technical writhing and presentation skills
spot a liar (Haiqa 146).pptx Technical writhing and presentation skills
 
Beyond Degrees - Empowering the Workforce in the Context of Skills-First.pptx
Beyond Degrees - Empowering the Workforce in the Context of Skills-First.pptxBeyond Degrees - Empowering the Workforce in the Context of Skills-First.pptx
Beyond Degrees - Empowering the Workforce in the Context of Skills-First.pptx
 
Présentationvvvvvvvvvvvvvvvvvvvvvvvvvvvv2.pptx
Présentationvvvvvvvvvvvvvvvvvvvvvvvvvvvv2.pptxPrésentationvvvvvvvvvvvvvvvvvvvvvvvvvvvv2.pptx
Présentationvvvvvvvvvvvvvvvvvvvvvvvvvvvv2.pptx
 
PCOS corelations and management through Ayurveda.
PCOS corelations and management through Ayurveda.PCOS corelations and management through Ayurveda.
PCOS corelations and management through Ayurveda.
 
How to Make a Field Mandatory in Odoo 17
How to Make a Field Mandatory in Odoo 17How to Make a Field Mandatory in Odoo 17
How to Make a Field Mandatory in Odoo 17
 
Cognitive Development Adolescence Psychology
Cognitive Development Adolescence PsychologyCognitive Development Adolescence Psychology
Cognitive Development Adolescence Psychology
 
BÀI TẬP BỔ TRỢ TIẾNG ANH LỚP 9 CẢ NĂM - GLOBAL SUCCESS - NĂM HỌC 2024-2025 - ...
BÀI TẬP BỔ TRỢ TIẾNG ANH LỚP 9 CẢ NĂM - GLOBAL SUCCESS - NĂM HỌC 2024-2025 - ...BÀI TẬP BỔ TRỢ TIẾNG ANH LỚP 9 CẢ NĂM - GLOBAL SUCCESS - NĂM HỌC 2024-2025 - ...
BÀI TẬP BỔ TRỢ TIẾNG ANH LỚP 9 CẢ NĂM - GLOBAL SUCCESS - NĂM HỌC 2024-2025 - ...
 
Leveraging Generative AI to Drive Nonprofit Innovation
Leveraging Generative AI to Drive Nonprofit InnovationLeveraging Generative AI to Drive Nonprofit Innovation
Leveraging Generative AI to Drive Nonprofit Innovation
 
Wound healing PPT
Wound healing PPTWound healing PPT
Wound healing PPT
 
Main Java[All of the Base Concepts}.docx
Main Java[All of the Base Concepts}.docxMain Java[All of the Base Concepts}.docx
Main Java[All of the Base Concepts}.docx
 
LAND USE LAND COVER AND NDVI OF MIRZAPUR DISTRICT, UP
LAND USE LAND COVER AND NDVI OF MIRZAPUR DISTRICT, UPLAND USE LAND COVER AND NDVI OF MIRZAPUR DISTRICT, UP
LAND USE LAND COVER AND NDVI OF MIRZAPUR DISTRICT, UP
 
Hindi varnamala | hindi alphabet PPT.pdf
Hindi varnamala | hindi alphabet PPT.pdfHindi varnamala | hindi alphabet PPT.pdf
Hindi varnamala | hindi alphabet PPT.pdf
 
Chapter 4 - Islamic Financial Institutions in Malaysia.pptx
Chapter 4 - Islamic Financial Institutions in Malaysia.pptxChapter 4 - Islamic Financial Institutions in Malaysia.pptx
Chapter 4 - Islamic Financial Institutions in Malaysia.pptx
 
Film vocab for eal 3 students: Australia the movie
Film vocab for eal 3 students: Australia the movieFilm vocab for eal 3 students: Australia the movie
Film vocab for eal 3 students: Australia the movie
 
BBR 2024 Summer Sessions Interview Training
BBR  2024 Summer Sessions Interview TrainingBBR  2024 Summer Sessions Interview Training
BBR 2024 Summer Sessions Interview Training
 
Chapter wise All Notes of First year Basic Civil Engineering.pptx
Chapter wise All Notes of First year Basic Civil Engineering.pptxChapter wise All Notes of First year Basic Civil Engineering.pptx
Chapter wise All Notes of First year Basic Civil Engineering.pptx
 
Liberal Approach to the Study of Indian Politics.pdf
Liberal Approach to the Study of Indian Politics.pdfLiberal Approach to the Study of Indian Politics.pdf
Liberal Approach to the Study of Indian Politics.pdf
 
คำศัพท์ คำพื้นฐานการอ่าน ภาษาอังกฤษ ระดับชั้น ม.1
คำศัพท์ คำพื้นฐานการอ่าน ภาษาอังกฤษ ระดับชั้น ม.1คำศัพท์ คำพื้นฐานการอ่าน ภาษาอังกฤษ ระดับชั้น ม.1
คำศัพท์ คำพื้นฐานการอ่าน ภาษาอังกฤษ ระดับชั้น ม.1
 
MARY JANE WILSON, A “BOA MÃE” .
MARY JANE WILSON, A “BOA MÃE”           .MARY JANE WILSON, A “BOA MÃE”           .
MARY JANE WILSON, A “BOA MÃE” .
 

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.