Software Numerical Instability Detection and Diagnosis by Combining Stochastic and Infinite-Precision Testing
Numerical instability is a well-known problem that may cause serious runtime failures. This paper discusses the reason of instability in software development process, and presents a toolchain that not only detects the potential instability in software, but also diagnoses the reason for such instabil...
Saved in:
Published in | IEEE transactions on software engineering Vol. 43; no. 10; pp. 975 - 994 |
---|---|
Main Authors | , , , , |
Format | Journal Article |
Language | English |
Published |
New York
IEEE
01.10.2017
IEEE Computer Society |
Subjects | |
Online Access | Get full text |
ISSN | 0098-5589 1939-3520 |
DOI | 10.1109/TSE.2016.2642956 |
Cover
Abstract | Numerical instability is a well-known problem that may cause serious runtime failures. This paper discusses the reason of instability in software development process, and presents a toolchain that not only detects the potential instability in software, but also diagnoses the reason for such instability. We classify the reason of instability into two categories. When it is introduced by software requirements, we call the instability caused by problem . In this case, it cannot be avoided by improving software development, but requires inspecting the requirements, especially the underlying mathematical properties. Otherwise, we call the instability caused by practice. We design our toolchain as four loosely-coupled tools, which combine stochastic arithmetic with infinite-precision testing. Each tool in our toolchain can be configured with different strategies according to the properties of the analyzed software. We evaluate our toolchain on subjects from literature. The results show that it effectively detects and separates the instabilities caused by problems from others. We also conduct an evaluation on the latest version of GNU Scientific Library, and the toolchain finds a few real bugs in the well-maintained and widely deployed numerical library. With the help of our toolchain, we report the details and fixing advices to the GSL buglist. |
---|---|
AbstractList | Numerical instability is a well-known problem that may cause serious runtime failures. This paper discusses the reason of instability in software development process, and presents a toolchain that not only detects the potential instability in software, but also diagnoses the reason for such instability. We classify the reason of instability into two categories. When it is introduced by software requirements, we call the instability caused by problem . In this case, it cannot be avoided by improving software development, but requires inspecting the requirements, especially the underlying mathematical properties. Otherwise, we call the instability caused by practice. We design our toolchain as four loosely-coupled tools, which combine stochastic arithmetic with infinite-precision testing. Each tool in our toolchain can be configured with different strategies according to the properties of the analyzed software. We evaluate our toolchain on subjects from literature. The results show that it effectively detects and separates the instabilities caused by problems from others. We also conduct an evaluation on the latest version of GNU Scientific Library, and the toolchain finds a few real bugs in the well-maintained and widely deployed numerical library. With the help of our toolchain, we report the details and fixing advices to the GSL buglist. |
Author | Enyi Tang Zhenyu Chen Xiangyu Zhang Xuandong Li Muller, Norbert T. |
Author_xml | – sequence: 1 surname: Enyi Tang fullname: Enyi Tang email: eytang@nju.edu.cn organization: State Key Lab. for Novel Software Technol., Nanjing Univ., Nanjing, China – sequence: 2 surname: Xiangyu Zhang fullname: Xiangyu Zhang email: xyzhang@cs.purdue.edu organization: Dept. of Comput. Sci., Purdue Univ., West Lafayette, IN, USA – sequence: 3 givenname: Norbert T. surname: Muller fullname: Muller, Norbert T. email: mueller@uni-trier.de organization: Abt. Inf., Univ. of Trier, Trier, Germany – sequence: 4 surname: Zhenyu Chen fullname: Zhenyu Chen email: zychen@nju.edu.cn organization: State Key Lab. for Novel Software Technol., Nanjing Univ., Nanjing, China – sequence: 5 surname: Xuandong Li fullname: Xuandong Li email: lxd@nju.edu.cn organization: State Key Lab. for Novel Software Technol., Nanjing Univ., Nanjing, China |
BookMark | eNp9kE1LAzEQhoMo2FbvgpcFz1vzsdnsHKWtWhAVWs9LNs7WlDapSYr037u1xYMHT4HJ-8w7PH1y6rxDQq4YHTJG4XY-mww5ZeWQlwUHWZ6QHgMBuZCcnpIepVDlUlZwTvoxLimlUinZI-uZb9OXDpg9b9cYrNGrbOpi0o1d2bTLxpjQJOtdpt17NrZ64Xy0MWt22civG-usW2Sz5M2Hjsman9TUtd08Yf4a0Ni4h-fY_brFBTlr9Sri5fEdkLf7yXz0mD-9PExHd0-54cBSLnmjtBZCUNAgWmBUFciYUq1GUMBAS8qqxhSFatAgVIIhmEKAbCpQCsSA3Bz2boL_3Hbd9dJvg-sqa85UUfBKlLxL0UPKBB9jwLbeBLvWYVczWu-l1p3Uei-1PkrtkPIPYmzSez8paLv6D7w-gBYRf3u6W3kJhfgGMpmGmg |
CODEN | IESEDJ |
CitedBy_id | crossref_primary_10_1109_TC_2022_3224377 crossref_primary_10_1109_MCSE_2019_2947017 crossref_primary_10_1145_3715104 crossref_primary_10_1007_s11227_018_2552_x crossref_primary_10_1145_3290369 |
Cites_doi | 10.1145/1839480.1839486 10.1016/j.cpc.2008.02.003 10.1007/978-3-642-14203-1_11 10.1145/2048066.2048094 10.1145/2503210.2503296 10.1016/j.jlap.2005.07.002 10.1109/LICS.2004.1319637 10.1145/2509136.2509526 10.1109/FCCM.2006.21 10.1145/2594291.2594302 10.1145/1831708.1831724 10.1109/5992.852391 10.1007/3-540-47764-0_14 10.1145/2429069.2429133 10.1145/1353445.1353446 10.4324/9780203774441 10.1016/j.jlap.2004.07.003 10.1109/TSE.1976.233818 10.1137/1.9780898717716 10.1007/11823230_3 10.1002/spe.637 10.1109/ICST.2013.17 10.1007/s11786-011-0103-4 10.1145/355637.355639 10.1007/978-3-540-74061-2_19 10.1007/3-540-45927-8_14 10.1023/B:NUMA.0000049483.75679.ce 10.1016/S0129-6264(00)00021-4 10.1109/ARITH.2007.20 10.1145/2345156.2254118 10.1109/ARITH.2011.40 10.1145/1480945.1480960 10.1145/800125.804035 10.1137/1.9780898718027 10.1007/s11155-005-6891-y 10.1145/356502.356496 10.3354/cr030079 10.1017/S0960129506005822 10.1145/1236463.1236468 10.1016/0378-4754(93)90003-D 10.1109/ICSE.2015.70 10.1007/3-540-45335-0_14 10.1007/978-3-540-24738-8_18 10.1016/j.tcs.2005.09.058 10.1109/ICCD.2009.5413114 10.1145/1916461.1916469 10.51400/2709-6998.1958 10.1109/FPL.2007.4380629 10.1145/1134285.1134323 10.5540/tema.2003.04.03.0297 |
ContentType | Journal Article |
Copyright | Copyright IEEE Computer Society 2017 |
Copyright_xml | – notice: Copyright IEEE Computer Society 2017 |
DBID | 97E RIA RIE AAYXX CITATION JQ2 K9. |
DOI | 10.1109/TSE.2016.2642956 |
DatabaseName | IEEE Xplore (IEEE) IEEE All-Society Periodicals Package (ASPP) 1998–Present IEEE Electronic Library (IEL) CrossRef ProQuest Computer Science Collection ProQuest Health & Medical Complete (Alumni) |
DatabaseTitle | CrossRef ProQuest Health & Medical Complete (Alumni) ProQuest Computer Science Collection |
DatabaseTitleList | ProQuest Health & Medical Complete (Alumni) |
Database_xml | – sequence: 1 dbid: RIE name: IEEE Electronic Library (IEL) url: https://proxy.k.utb.cz/login?url=https://ieeexplore.ieee.org/ sourceTypes: Publisher |
DeliveryMethod | fulltext_linktorsrc |
Discipline | Computer Science |
EISSN | 1939-3520 |
EndPage | 994 |
ExternalDocumentID | 10_1109_TSE_2016_2642956 7792694 |
Genre | orig-research |
GrantInformation_xml | – fundername: NSF Award grantid: 1320306; 1320444; 1409668 – fundername: National Basic Research Program of China 973 Program grantid: 2014CB340702 – fundername: National Natural Science Foundation of China grantid: 61373013; 61402222; 61632015 funderid: 10.13039/501100001809 |
GroupedDBID | --Z -DZ -~X .DC 0R~ 29I 4.4 5GY 6IK 85S 8R4 8R5 97E AAJGR AARMG AASAJ AAWTH ABAZT ABPPZ ABQJQ ABVLG ACGFO ACGOD ACIWK ACNCT AENEX AGQYO AHBIQ AKJIK AKQYR ALMA_UNASSIGNED_HOLDINGS ASUFR ATWAV BEFXN BFFAM BGNUA BKEBE BKOMP BPEOZ CS3 DU5 EBS EDO EJD HZ~ I-F IEDLZ IFIPE IPLJI JAVBF LAI M43 MS~ O9- OCL P2P Q2X RIA RIE RNS RXW S10 TAE TN5 TWZ UHB UPT WH7 YZZ AAYXX ALIPV CITATION RIG JQ2 K9. |
ID | FETCH-LOGICAL-c291t-52b7aa33309a93f91074e1177fae97919a5018bc447bece9831e9c4395b897793 |
IEDL.DBID | RIE |
ISSN | 0098-5589 |
IngestDate | Mon Jun 30 11:09:17 EDT 2025 Thu Apr 24 23:00:37 EDT 2025 Tue Jul 01 01:53:15 EDT 2025 Wed Aug 27 02:47:44 EDT 2025 |
IsPeerReviewed | true |
IsScholarly | true |
Issue | 10 |
Language | English |
License | https://ieeexplore.ieee.org/Xplorehelp/downloads/license-information/IEEE.html |
LinkModel | DirectLink |
MergedId | FETCHMERGED-LOGICAL-c291t-52b7aa33309a93f91074e1177fae97919a5018bc447bece9831e9c4395b897793 |
Notes | ObjectType-Article-1 SourceType-Scholarly Journals-1 ObjectType-Feature-2 content type line 14 |
ORCID | 0000-0001-9004-1292 |
PQID | 2174428362 |
PQPubID | 21418 |
PageCount | 20 |
ParticipantIDs | crossref_citationtrail_10_1109_TSE_2016_2642956 crossref_primary_10_1109_TSE_2016_2642956 ieee_primary_7792694 proquest_journals_2174428362 |
ProviderPackageCode | CITATION AAYXX |
PublicationCentury | 2000 |
PublicationDate | 2017-10-01 |
PublicationDateYYYYMMDD | 2017-10-01 |
PublicationDate_xml | – month: 10 year: 2017 text: 2017-10-01 day: 01 |
PublicationDecade | 2010 |
PublicationPlace | New York |
PublicationPlace_xml | – name: New York |
PublicationTitle | IEEE transactions on software engineering |
PublicationTitleAbbrev | TSE |
PublicationYear | 2017 |
Publisher | IEEE IEEE Computer Society |
Publisher_xml | – name: IEEE – name: IEEE Computer Society |
References | ref57 ref56 stanoyevitch (ref19) 2011 ref15 ref58 ref14 ref53 ref52 ref55 ref54 ref10 ref16 cort (ref11) 2005; 30 chatelin (ref23) 1988; 16 ref51 ref50 ref46 ref45 ref48 liu (ref17) 2009; 17 ref42 ref41 xiao (ref18) 0; 1 ref44 ref43 ref49 cohen (ref13) 2013 ref8 ref7 granlund (ref59) 2014 ref9 galassi (ref26) 2002 ref4 ref3 ref40 ref35 ref34 ref37 ref36 ref31 parker (ref25) 1997 ref30 ref33 vignes (ref63) 0 ref2 ref1 ref39 ref38 cheney (ref12) 2007 ref24 wilkinson (ref32) 1994 ref64 ref22 ref21 ref28 ref27 parker (ref20) 0 ref29 mohan (ref5) 2002 lam (ref47) 0 ref60 ref62 shoup (ref61) 2014 hart (ref6) 2010 |
References_xml | – ident: ref57 doi: 10.1145/1839480.1839486 – ident: ref1 doi: 10.1016/j.cpc.2008.02.003 – ident: ref43 doi: 10.1007/978-3-642-14203-1_11 – ident: ref44 doi: 10.1145/2048066.2048094 – ident: ref48 doi: 10.1145/2503210.2503296 – year: 2002 ident: ref26 publication-title: GNU Scientific Library Reference Manual – ident: ref53 doi: 10.1016/j.jlap.2005.07.002 – ident: ref51 doi: 10.1109/LICS.2004.1319637 – ident: ref38 doi: 10.1145/2509136.2509526 – year: 1994 ident: ref32 publication-title: Rounding Errors in Algebraic Processes – ident: ref56 doi: 10.1109/FCCM.2006.21 – ident: ref49 doi: 10.1145/2594291.2594302 – start-page: 610 year: 0 ident: ref63 article-title: Error analysis in computing publication-title: Proc Int Federation Inf Process – ident: ref14 doi: 10.1145/1831708.1831724 – ident: ref64 doi: 10.1109/5992.852391 – ident: ref36 doi: 10.1007/3-540-47764-0_14 – ident: ref4 doi: 10.1145/2429069.2429133 – ident: ref46 doi: 10.1145/1353445.1353446 – year: 2013 ident: ref13 publication-title: Applied Multiple Regression/Correlation Analysis for the Behavioral Sciences doi: 10.4324/9780203774441 – year: 0 ident: ref20 article-title: Monte Carlo arithmetic: A framework for the statistical analysis of roundoff error – ident: ref52 doi: 10.1016/j.jlap.2004.07.003 – ident: ref39 doi: 10.1109/TSE.1976.233818 – ident: ref33 doi: 10.1137/1.9780898717716 – ident: ref21 doi: 10.1007/11823230_3 – year: 2007 ident: ref12 article-title: Numerical mathematics and computing – ident: ref24 doi: 10.1002/spe.637 – ident: ref40 doi: 10.1109/ICST.2013.17 – ident: ref16 doi: 10.1007/s11786-011-0103-4 – ident: ref30 doi: 10.1145/355637.355639 – ident: ref2 doi: 10.1007/978-3-540-74061-2_19 – ident: ref45 doi: 10.1007/3-540-45927-8_14 – ident: ref8 doi: 10.1023/B:NUMA.0000049483.75679.ce – ident: ref15 doi: 10.1016/S0129-6264(00)00021-4 – ident: ref41 doi: 10.1109/ARITH.2007.20 – ident: ref37 doi: 10.1145/2345156.2254118 – year: 2014 ident: ref59 article-title: The GMP development team publication-title: GNU MP The GNU Multiple Precision Arithmetic Library – ident: ref42 doi: 10.1109/ARITH.2011.40 – ident: ref3 doi: 10.1145/1480945.1480960 – ident: ref29 doi: 10.1145/800125.804035 – ident: ref28 doi: 10.1137/1.9780898718027 – start-page: 369 year: 0 ident: ref47 article-title: Automatically adapting programs for mixed-precision floating-point computation publication-title: Proc 27th Int ACM Conf Int Conf Supercomputing – year: 2011 ident: ref19 publication-title: Introduction to Numerical Ordinary and Partial Differential Equations Using MATLAB – ident: ref54 doi: 10.1007/s11155-005-6891-y – ident: ref31 doi: 10.1145/356502.356496 – volume: 30 start-page: 79 year: 2005 ident: ref11 article-title: Advantages of the mean absolute error mae over the root mean square error RMSE in assessing average model performance publication-title: Climate Res doi: 10.3354/cr030079 – ident: ref62 doi: 10.1017/S0960129506005822 – ident: ref9 doi: 10.1145/1236463.1236468 – year: 2010 ident: ref6 publication-title: Power Electronics – volume: 16 start-page: 851 year: 1988 ident: ref23 article-title: Sur le taux de fiabilité général de la méthode CESTAC publication-title: Comptes Rendus de l'Académie des Sciences - Series IV - Physics – ident: ref7 doi: 10.1016/0378-4754(93)90003-D – ident: ref27 doi: 10.1109/ICSE.2015.70 – ident: ref10 doi: 10.1007/3-540-45335-0_14 – year: 2002 ident: ref5 publication-title: POWER ELECTRONICS Converters Applications and Design – year: 2014 ident: ref61 – ident: ref35 doi: 10.1007/978-3-540-24738-8_18 – volume: 1 start-page: 622 year: 0 ident: ref18 article-title: Research on ill-conditioned problem and modeling precision in GM(1,1) model publication-title: Proc IEEE Int Conf Syst Man Cybern – ident: ref50 doi: 10.1016/j.tcs.2005.09.058 – ident: ref55 doi: 10.1109/ICCD.2009.5413114 – ident: ref60 doi: 10.1145/1916461.1916469 – volume: 17 start-page: 216 year: 2009 ident: ref17 article-title: Novel methods for solving severely ill-posed linear equations system publication-title: J Marine Sci Technol doi: 10.51400/2709-6998.1958 – ident: ref58 doi: 10.1109/FPL.2007.4380629 – ident: ref22 doi: 10.1145/1134285.1134323 – ident: ref34 doi: 10.5540/tema.2003.04.03.0297 – year: 1997 ident: ref25 article-title: Monte Carlo arithmetic: Exploiting randomness in floating-point arithmetic |
SSID | ssj0005775 ssib053395008 |
Score | 2.30584 |
Snippet | Numerical instability is a well-known problem that may cause serious runtime failures. This paper discusses the reason of instability in software development... |
SourceID | proquest crossref ieee |
SourceType | Aggregation Database Enrichment Source Index Database Publisher |
StartPage | 975 |
SubjectTerms | Algorithm design and analysis Computer bugs infinite-precision arithmetic Libraries Numerical analysis Software Software algorithms Software development Software testing Stability stochastic arithmetic |
Title | Software Numerical Instability Detection and Diagnosis by Combining Stochastic and Infinite-Precision Testing |
URI | https://ieeexplore.ieee.org/document/7792694 https://www.proquest.com/docview/2174428362 |
Volume | 43 |
hasFullText | 1 |
inHoldings | 1 |
isFullTextHit | |
isPrint | |
link | http://utb.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwjV1NSwMxEB20Jy9-i9UqOXgR3HY_m52jqKUKFaEteFuSbFbFupW6RfTXm8nuVlERb3tIQmAmmcnOm_cAjoSvUi_jroOBDJxQKNeJYykcky2nqQjjKBXUOzy47vbH4dVtdLsEJ4teGK21BZ_pNn3aWn46VXP6VdbhHKnxchmWjZuVvVqfcA7Oo5ofM4pirEuSLnZGwwvCcHXbJvj7SFLVX0KQ1VT5cRHb6NJbg0G9rxJU8tieF7Kt3r9RNv534-uwWqWZ7LT0iw1Y0vkmrNUSDqw60VvwNDTX8KuYaXY9L2s3E0b4gZK9-42d68JitXIm8pSdl7i8hxcm35hZTFp1CTYspupeEOGzHXWZZw-UyTo3s0rAh42IyyO_24Zx72J01ncqBQZH-egV5pUquRBBELgoMMiQ0JuayryZ0MjRQ0F8gFKFITe-oDEOPI3K5DiRjE1iicEONPJprneBKYzQlT6a2KDCVHOUbqajMFQi84Sn_SZ0aqMkqqInJ5WMSWKfKS4mxowJmTGpzNiE48WM55Ka44-xW2SVxbjKIE1o1XZPqrP7ktAjjWjouv7e77P2YcWn4G4hfS1oFLO5PjCpSSEPrU9-ANI_4Vs |
linkProvider | IEEE |
linkToHtml | http://utb.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwjV1LT9wwEB5ROLSXAqUVS3n40EulZjcPe505Ih5aHruqtIvELbIdBxCQrZasEP31eJxkqWhVccvBiSx9tmec-eb7AL6p2ORRIcMAE50EXJkwSFOtApct57niqcgV9Q4PR_3BBT-9FJdL8GPRC2Ot9eQz26VHX8vPp2ZOv8p6UiI1Xr6DFRf3uai7tV4IHVKKViFTiBTbomSIvcn4iFhc_a4L_zGSWfUfQci7qvx1FPv4crwKw3ZmNa3ktjuvdNf8fiXa-Napr8HHJtFk-_XKWIclW36C1dbEgTV7egPux-4gflQzy0bzunpzx4hBUOt3P7FDW3m2VslUmbPDmpl388D0E3Mf095fgo2rqblWJPnsR52UxQ3lssHPWWPhwyak5lFefYaL46PJwSBoPBgCE2NUuXuqlkolSRKiwqRA4m9aKvQWyqLECBUpAmrDuXSrwWKaRBaNy3KETl1qickXWC6npd0EZlBgqGN00cHw3ErUYWEF50YVkYps3IFeC0pmGoFy8sm4y_xFJcTMwZgRjFkDYwe-L974VYtz_GfsBqGyGNcA0oHtFves2b0PGV3TSIiuH2_9-609eD-YDM-z85PR2Vf4EFOo9wS_bViuZnO74xKVSu_69fkMxUzkqA |
openUrl | ctx_ver=Z39.88-2004&ctx_enc=info%3Aofi%2Fenc%3AUTF-8&rfr_id=info%3Asid%2Fsummon.serialssolutions.com&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&rft.genre=article&rft.atitle=Software+Numerical+Instability+Detection+and+Diagnosis+by+Combining+Stochastic+and+Infinite-Precision+Testing&rft.jtitle=IEEE+transactions+on+software+engineering&rft.au=Tang%2C+Enyi&rft.au=Zhang%2C+Xiangyu&rft.au=Muller%2C+Norbert+T&rft.au=Chen%2C+Zhenyu&rft.date=2017-10-01&rft.pub=IEEE+Computer+Society&rft.issn=0098-5589&rft.eissn=1939-3520&rft.volume=43&rft.issue=10&rft.spage=975&rft_id=info:doi/10.1109%2FTSE.2016.2642956&rft.externalDBID=NO_FULL_TEXT |
thumbnail_l | http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/lc.gif&issn=0098-5589&client=summon |
thumbnail_m | http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/mc.gif&issn=0098-5589&client=summon |
thumbnail_s | http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/sc.gif&issn=0098-5589&client=summon |