A Pytea, egy statikus analizátor a tenzor alak hibáinak észlelésére a Pytorch kódban, több stratégia alkalmazásával kezeli a komplex végrehajtási útvonalakat:
1. Konzervatív metszés: A pytea konzervatív metszési technikát alkalmaz a végrehajtási útvonalak számának csökkentésére. Ez a módszer segít megelőzni az út robbanását, amely előfordulhat, amikor számos feltételes ággal történő kódot elemez. A kevésbé releváns utak metszésével a Pytea a legkritikusabb végrehajtási útvonalakra összpontosít, amelyek valószínűleg tartalmaznak tenzor alakú hibákat [1] [2].
2. szimbolikus absztrakció: A pytea a szimbolikus absztrakcióra támaszkodik, hogy egyszerűsítse a hurkok és a feltételes állítások elemzését. Ez az absztrakció lehetővé teszi a Pytea számára, hogy elemezze a kódot anélkül, hogy végrehajtania kellene azt, így hatékonyabbá teszi a komplex útvonalak kezelését [1] [2].
3. hurokkezelés: A hurkokhoz a pytea állandó kötött hurkokat nem tartalmaz, és elemzi azok egyenes vonalú verzióját. Az ismeretlen határokkal rendelkező hurkok esetében, például az adatkészleteken iteráló hurkok esetében a PyTEA két esetben elemzi a hurok testét: egy rögzített méretű minibatch és egy kisebb maradék minibatch. Ez a megközelítés egyszerűsíti a hurkok elemzését, amelyek egyébként bonyolíthatják a végrehajtási út elemzését [1] [2].
4. Timeout Mechanism: If the number of execution paths still becomes too large despite pruning, PyTea uses a timeout mechanism. This ensures that the analysis does not take an excessively long time, even if it means not fully exploring all possible paths[1][2].
Ezeknek a stratégiáknak a kombinálásával a Pytea hatékonyan kezeli a komplex végrehajtási útvonalakat a Pytorch kódban, lehetővé téve, hogy a tenzor alak hibáit gyorsan és pontosan észlelje.
Idézetek:[1] https://sf.snu.ac.kr/publications/pytea.pdf
[2] https://arxiv.org/pdf/2112.09037.pdf
[3] https://sf.snu.ac.kr/pytea/
[4] https://www.researchgate.net/publication/357114953_A_Static_Analyzer_for_Detecting_Tensor_Shape_Errors_in_Deep_Neural_Network_Training_Code
[5] https://dl.acm.org/doi/10.1145/3510454.3528638
[6] https://discuss.pytorch.org/t/pytorch-coding-contentions/42548
[7] https://www.computer.org/csdl/proedings-article/icse-companion/2022/959800a337/1eapbpbou12
[8] https://stackoverflow.com/questions/57410835/define-a-relative-path-dolder-inside-a-function-that-dhat-code-on-both-cmd-d-and-id