{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,5,21]],"date-time":"2025-05-21T05:52:03Z","timestamp":1747806723778},"reference-count":11,"publisher":"Wiley","issue":"10","license":[{"start":{"date-parts":[[2006,10,30]],"date-time":"2006-10-30T00:00:00Z","timestamp":1162166400000},"content-version":"vor","delay-in-days":4777,"URL":"http:\/\/onlinelibrary.wiley.com\/termsAndConditions#vor"}],"content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":["Softw Pract Exp"],"published-print":{"date-parts":[[1993,10]]},"abstract":"<jats:title>Abstract<\/jats:title><jats:p>Since the signature of an Ada subprogram does not specify the set of exceptions that the subprogram can propagate, computing the set of exceptions that a subprogram may encounter is not a trivial task. This is a source of error in large Ada systems: for example, a subprogram may not be prepared to handle an exception propagated from another subprogram several layers lower in the call\u2010tree. In a large system, the number of paths in exceptional processing is so great that it is unlikely that testing will uncover all errors in inter\u2010procedural exception handling. Nor are compilers or code inspections likely to locate all such errors. Exception handling is an area where static analysis has a high potential payoff for systems with high reliability requirements. We discuss fundamental notions in computing exception propagation and describe an analysis tool that has proved to be effective in detecting inconsistencies in the exception\u2010handling code of Ada applications.<\/jats:p>","DOI":"10.1002\/spe.4380231007","type":"journal-article","created":{"date-parts":[[2006,11,18]],"date-time":"2006-11-18T05:38:05Z","timestamp":1163828285000},"page":"1157-1174","source":"Crossref","is-referenced-by-count":23,"title":["Static analysis of exception handling in Ada"],"prefix":"10.1002","volume":"23","author":[{"given":"Carl F.","family":"Schaefer","sequence":"first","affiliation":[]},{"given":"Gary N.","family":"Bundy","sequence":"additional","affiliation":[]}],"member":"311","published-online":{"date-parts":[[2006,10,30]]},"reference":[{"doi-asserted-by":"crossref","unstructured":"C.HowellandD.Mularz \u2018Exception handling in large Ada systems\u2019 Washington Ada Symposium Proceedings June1991 pp.90\u2013101.","key":"e_1_2_1_2_2","DOI":"10.1145\/134494.134503"},{"unstructured":"C.Howell D.MularzandG.Bundy \u2018Exception handling or \u201cwhen bad things happen to good programs\u201d\u2019 14th International Conference on Software Engineering Tutorial May1992.","key":"e_1_2_1_3_2"},{"doi-asserted-by":"publisher","key":"e_1_2_1_4_2","DOI":"10.1109\/32.135772"},{"doi-asserted-by":"publisher","key":"e_1_2_1_5_2","DOI":"10.1109\/TSE.1986.6312976"},{"doi-asserted-by":"publisher","key":"e_1_2_1_6_2","DOI":"10.1145\/78973.78974"},{"unstructured":"Reference Manual for the Ada Programming Language ANSI\/Military Standard MIL\u2010STD\u20101815A\u20101983 U.S. Department of Defense January1983.","key":"e_1_2_1_7_2"},{"issue":"12","key":"e_1_2_1_8_2","doi-asserted-by":"crossref","first-page":"683","DOI":"10.1145\/361227.361230","article-title":"Exception handling: issues and a proposed notation","volume":"18","author":"Goodenough J. B.","year":"1975","journal-title":"Communications of the ACM"},{"volume-title":"Ada Quality and Style","year":"1989","author":"Software Productivity Consortium","key":"e_1_2_1_9_2"},{"doi-asserted-by":"publisher","key":"e_1_2_1_10_2","DOI":"10.1007\/3-540-12695-3"},{"doi-asserted-by":"publisher","key":"e_1_2_1_11_2","DOI":"10.1109\/TSE.1979.230191"},{"doi-asserted-by":"publisher","key":"e_1_2_1_12_2","DOI":"10.1145\/956653.956654"}],"container-title":["Software: Practice and Experience"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/api.wiley.com\/onlinelibrary\/tdm\/v1\/articles\/10.1002%2Fspe.4380231007","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/onlinelibrary.wiley.com\/doi\/pdf\/10.1002\/spe.4380231007","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2023,10,25]],"date-time":"2023-10-25T09:53:06Z","timestamp":1698227586000},"score":1,"resource":{"primary":{"URL":"https:\/\/onlinelibrary.wiley.com\/doi\/10.1002\/spe.4380231007"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[1993,10]]},"references-count":11,"journal-issue":{"issue":"10","published-print":{"date-parts":[[1993,10]]}},"alternative-id":["10.1002\/spe.4380231007"],"URL":"https:\/\/doi.org\/10.1002\/spe.4380231007","archive":["Portico"],"relation":{},"ISSN":["0038-0644","1097-024X"],"issn-type":[{"type":"print","value":"0038-0644"},{"type":"electronic","value":"1097-024X"}],"subject":[],"published":{"date-parts":[[1993,10]]}}}