Abstract Domains of Affine Relations
This article considers some known abstract domains for affine-relation analysis (ARA), along with several variants, and studies how they relate to each other. The various domains represent sets of points that satisfy affine relations over variables that hold machine integers and are based on an exte...
Saved in:
Published in | ACM transactions on programming languages and systems Vol. 36; no. 4; pp. 1 - 73 |
---|---|
Main Authors | , , , , |
Format | Journal Article |
Language | English |
Published |
New York, NY, USA
ACM
28.10.2014
|
Subjects | |
Online Access | Get full text |
ISSN | 0164-0925 1558-4593 |
DOI | 10.1145/2651361 |
Cover
Loading…
Abstract | This article considers some known abstract domains for affine-relation analysis (ARA), along with several variants, and studies how they relate to each other. The various domains represent sets of points that satisfy affine relations over variables that hold machine integers and are based on an extension of linear algebra to modules over a ring (in particular, arithmetic performed modulo 2w, for some machine-integer width w). We show that the abstract domains of Müller-Olm/Seidl (MOS) and King/Søndergaard (KS) are, in general, incomparable. However, we give sound interconversion methods. In other words, we give an algorithm to convert a KS element vKS to an overapproximating MOS element vMOS-that is, γ (vKS) ⊆ γ (vMOS-as well as an algorithm to convert an MOS element wMOS to an overapproximating KS element wKS-that is, γ (wMOS) ⊆ γ (wKS). The article provides insight on the range of options that one has for performing ARA in a program analyzer: -We describe how to perform a greedy, operator-by-operator abstraction method to obtain KS abstract transformers. -We also describe a more global approach to obtaining KS abstract transformers that considers the semantics of an entire instruction, basic block, or other loop-free program fragment. The latter method can yield best abstract transformers, and hence can be more precise than the former method. However, the latter method is more expensive. We also explain how to use the KS domain for interprocedural program analysis using a bit-precise concrete semantics, but without bit blasting. |
---|---|
AbstractList | This article considers some known abstract domains for affine-relation analysis (ARA), along with several variants, and studies how they relate to each other. The various domains represent sets of points that satisfy affine relations over variables that hold machine integers and are based on an extension of linear algebra to modules over a ring (in particular, arithmetic performed modulo 2 super()w for some machine-integer width w). We show that the abstract domains of Mueller-Olm/Seidl (MOS) and King/Soendergaard (KS) are, in general, incomparable. However, we give sound interconversion methods. In other words, we give an algorithm to convert a KS element v sub(KS) to an overapproximating MOS element v sub(MOS)-that is, gamma (v sub(KS)) [subE] gamma (v sub(MOS)-as well as an algorithm to convert an MOS element w sub(MOS) to an overapproximating KS element w sub(KS)-that is, gamma (w sub(MOS)) [subE] gamma (w sub(KS)). The article provides insight on the range of options that one has for performing ARA in a program analyzer: -We describe how to perform a greedy, operator-by-operator abstraction method to obtain KS abstract transformers. -We also describe a more global approach to obtaining KS abstract transformers that considers the semantics of an entire instruction, basic block, or other loop-free program fragment. The latter method can yield best abstract transformers, and hence can be more precise than the former method. However, the latter method is more expensive. We also explain how to use the KS domain for interprocedural program analysis using a bit-precise concrete semantics, but without bit blasting. This article considers some known abstract domains for affine-relation analysis (ARA), along with several variants, and studies how they relate to each other. The various domains represent sets of points that satisfy affine relations over variables that hold machine integers and are based on an extension of linear algebra to modules over a ring (in particular, arithmetic performed modulo 2 w , for some machine-integer width w ). We show that the abstract domains of Müller-Olm/Seidl (MOS) and King/Søndergaard (KS) are, in general, incomparable. However, we give sound interconversion methods. In other words, we give an algorithm to convert a KS element v KS to an overapproximating MOS element v MOS —that is, γ ( v KS ) ⊆ γ ( v MOS —as well as an algorithm to convert an MOS element w MOS to an overapproximating KS element w KS —that is, γ ( w MOS ) ⊆ γ ( w KS ). The article provides insight on the range of options that one has for performing ARA in a program analyzer: —We describe how to perform a greedy, operator-by-operator abstraction method to obtain KS abstract transformers. —We also describe a more global approach to obtaining KS abstract transformers that considers the semantics of an entire instruction, basic block, or other loop-free program fragment. The latter method can yield best abstract transformers, and hence can be more precise than the former method. However, the latter method is more expensive. We also explain how to use the KS domain for interprocedural program analysis using a bit-precise concrete semantics, but without bit blasting. This article considers some known abstract domains for affine-relation analysis (ARA), along with several variants, and studies how they relate to each other. The various domains represent sets of points that satisfy affine relations over variables that hold machine integers and are based on an extension of linear algebra to modules over a ring (in particular, arithmetic performed modulo 2w, for some machine-integer width w). We show that the abstract domains of Müller-Olm/Seidl (MOS) and King/Søndergaard (KS) are, in general, incomparable. However, we give sound interconversion methods. In other words, we give an algorithm to convert a KS element vKS to an overapproximating MOS element vMOS-that is, γ (vKS) ⊆ γ (vMOS-as well as an algorithm to convert an MOS element wMOS to an overapproximating KS element wKS-that is, γ (wMOS) ⊆ γ (wKS). The article provides insight on the range of options that one has for performing ARA in a program analyzer: -We describe how to perform a greedy, operator-by-operator abstraction method to obtain KS abstract transformers. -We also describe a more global approach to obtaining KS abstract transformers that considers the semantics of an entire instruction, basic block, or other loop-free program fragment. The latter method can yield best abstract transformers, and hence can be more precise than the former method. However, the latter method is more expensive. We also explain how to use the KS domain for interprocedural program analysis using a bit-precise concrete semantics, but without bit blasting. |
ArticleNumber | 11 |
Author | Lim, Junghee Andersen, Tycho Sharma, Tushar Reps, Thomas Elder, Matt |
Author_xml | – sequence: 1 givenname: Matt surname: Elder fullname: Elder, Matt email: fiddlemath@gmail.com organization: University of Wisconsin, Madison, USA – sequence: 2 givenname: Junghee surname: Lim fullname: Lim, Junghee email: junghee@grammatech.com organization: University of Wisconsin, Madison, USA – sequence: 3 givenname: Tushar surname: Sharma fullname: Sharma, Tushar email: tsharma@cs.wisc.edu organization: University of Wisconsin, Madison, USA – sequence: 4 givenname: Tycho surname: Andersen fullname: Andersen, Tycho email: tycho@tycho.ws organization: University of Wisconsin, Madison, USA – sequence: 5 givenname: Thomas surname: Reps fullname: Reps, Thomas email: reps@cs.wisc.edu organization: University of Wisconsin and GrammaTech, Inc., Madison, WI |
BookMark | eNpt0DtLxEAUBeBBVjC7ir1VCkGb6L3zSqYM6xMWBNE6TCYzMJJk1ky28N8bzWohVre4HwfOWZJFH3pLyCnCFSIX11QKZBIPSIJCFBkXii1IAih5BoqKI7KM8Q0AsBBFQs7LOo6DNmN6Ezrt-5gGl5bO-d6mz7bVow99PCaHTrfRnuzvirze3b6sH7LN0_3jutxkmiGMWZ3nzAmlKZdcO-Ua2uSKIXdFLk2NtDE1aNZQEBJUIxEbnXPKawqyUFwYtiKXc-52CO87G8eq89HYttW9DbtY4RRHuWJAJ3oxUzOEGAfrqu3gOz18VAjV1w7VfodJZn-k8eN3r6m3b__xZ7PXpvsN_Xl-AnH1ZTY |
CitedBy_id | crossref_primary_10_1007_s10703_024_00456_z crossref_primary_10_1016_j_jsc_2024_102314 crossref_primary_10_1145_3093315_3037754 crossref_primary_10_1145_3563334 crossref_primary_10_1145_3704873 crossref_primary_10_1145_3093337_3037754 crossref_primary_10_1016_j_scico_2022_102906 crossref_primary_10_1007_s10703_018_0325_z crossref_primary_10_1145_3156017 crossref_primary_10_1145_3093336_3037754 crossref_primary_10_1145_3024084 crossref_primary_10_1145_3290358 |
Cites_doi | 10.1145/512644.512672 10.1145/178243.178254 10.5555/2041552.2041569 10.1145/567752.567778 10.1145/604131.604138 10.5555/1788374.1788379 10.1145/1275497.1275504 10.1080/00207168908803778 10.1145/512760.512770 10.1023/A:1008013906463 10.1007/BF00268497 10.1007/978-3-540-24622-0_21 10.1016/j.scico.2007.08.001 10.1007/11513988_44 10.1016/0304-3975(89)90091-1 10.5555/22788.22800 10.1145/2450136.2450139 10.5555/645604.662896 10.5555/647471.727286 10.1007/11817963_32 10.5555/343374 10.1145/964001.964029 10.1007/978-3-540-70545-1_26 10.1007/11547662_17 10.1007/978-3-642-33125-1_10 10.1145/604131.604137 10.1093/comjnl/12.1.41 10.1007/978-3-642-11319-2_16 10.1007/978-3-540-31987-0_5 10.1080/03081088608817705 10.1016/j.scico.2005.02.009 10.1145/1040305.1040332 10.1007/978-3-642-31424-7_17 10.5555/1759187.1759209 10.1145/237578.237617 |
ContentType | Journal Article |
Copyright | ACM |
Copyright_xml | – notice: ACM |
DBID | AAYXX CITATION 7SC 8FD JQ2 L7M L~C L~D |
DOI | 10.1145/2651361 |
DatabaseName | CrossRef Computer and Information Systems Abstracts Technology Research Database ProQuest Computer Science Collection Advanced Technologies Database with Aerospace Computer and Information Systems Abstracts Academic Computer and Information Systems Abstracts Professional |
DatabaseTitle | CrossRef Computer and Information Systems Abstracts Technology Research Database Computer and Information Systems Abstracts – Academic Advanced Technologies Database with Aerospace ProQuest Computer Science Collection Computer and Information Systems Abstracts Professional |
DatabaseTitleList | Computer and Information Systems Abstracts CrossRef |
DeliveryMethod | fulltext_linktorsrc |
Discipline | Computer Science |
EISSN | 1558-4593 |
EndPage | 73 |
ExternalDocumentID | 10_1145_2651361 2651361 |
GrantInformation_xml | – fundername: Office of Naval Research grantid: N00014-{09-1-0510, 10-M-0251, 11-C-0447} funderid: http://dx.doi.org/10.13039/100000006 – fundername: Air Force Research Laboratory funderid: http://dx.doi.org/10.13039/100006602 – fundername: Defense Advanced Research Projects Agency funderid: http://dx.doi.org/10.13039/100000185 – fundername: Division of Computing and Communication Foundations grantid: CCF-{0810053, 0904371} funderid: http://dx.doi.org/10.13039/100000143 – fundername: U.S. Army Research Laboratory grantid: W911NF-09-1-0413 funderid: http://dx.doi.org/10.13039/100006754 |
GroupedDBID | --Z -DZ -~X .4S .DC 23M 2FS 4.4 5GY 5VS 6J9 8US 8VB AAKMM AALFJ AAYFX ABFSI ABPPZ ACGFO ACGOD ACM ADBCU ADL ADMLS ADPZR AEBYY AENEX AENSD AFWIH AFWXC AHQJS AIAGR AIKLT AKVCP ALMA_UNASSIGNED_HOLDINGS ARCSS ASPBG AVWKF BDXCO CCLIF CS3 D0L EBS EBU EDO EJD FEDTE GUFHI HGAVV H~9 I07 IAO ICD IEA IGS IOF K1G LHSKQ MK~ ML~ P1C P2P PQQKQ QWB RNS ROL RXW TAE TAF TH9 TUS TWZ UHB UKR UPT W7O X6Y XSW Z5M ZCA ZL0 AAYXX AEFXT AEJOY AETEA AKRVB CITATION 7SC 8FD JQ2 L7M L~C L~D |
ID | FETCH-LOGICAL-a310t-b773f59a2464af9fd2d79314f876cb12dcb0a3d205609d611da7424b2068945c3 |
ISSN | 0164-0925 |
IngestDate | Fri Jul 11 04:31:02 EDT 2025 Thu Jul 03 08:43:34 EDT 2025 Thu Apr 24 23:08:03 EDT 2025 Fri Feb 21 01:12:37 EST 2025 |
IsDoiOpenAccess | true |
IsOpenAccess | true |
IsPeerReviewed | true |
IsScholarly | true |
Issue | 4 |
Keywords | Howell form symbolic abstraction modular arithmetic abstract interpretation static analysis affine relation Abstract domain |
Language | English |
License | Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from Permissions@acm.org |
LinkModel | OpenURL |
MergedId | FETCHMERGED-LOGICAL-a310t-b773f59a2464af9fd2d79314f876cb12dcb0a3d205609d611da7424b2068945c3 |
Notes | ObjectType-Article-1 SourceType-Scholarly Journals-1 ObjectType-Feature-2 content type line 23 |
OpenAccessLink | https://dl.acm.org/doi/10.1145/2651361 |
PQID | 1793249302 |
PQPubID | 23500 |
PageCount | 73 |
ParticipantIDs | proquest_miscellaneous_1793249302 crossref_primary_10_1145_2651361 crossref_citationtrail_10_1145_2651361 acm_primary_2651361 |
PublicationCentury | 2000 |
PublicationDate | 2014-10-28 |
PublicationDateYYYYMMDD | 2014-10-28 |
PublicationDate_xml | – month: 10 year: 2014 text: 2014-10-28 day: 28 |
PublicationDecade | 2010 |
PublicationPlace | New York, NY, USA |
PublicationPlace_xml | – name: New York, NY, USA |
PublicationTitle | ACM transactions on programming languages and systems |
PublicationTitleAbbrev | ACM TOPLAS |
PublicationYear | 2014 |
Publisher | ACM |
Publisher_xml | – name: ACM |
References | P. Granger. 1989. Static analysis of arithmetical congruences. International Journal of Computer Mathematics 30, 3--4, 165--190. A. Lal and T. Reps. 2006. Improving pushdown system model checking. In Proceedings of the 18th International Conference on Computer Aided Verification (CAV’06). 343--357. 10.1007/11817963_32 B. Dutertre and L. de Moura. 2006. The Yices SMT Solver. Retrieved September 2, 2014, from http://yices.csl.sri.com. K. Malmkjær. 1993. Abstract Interpretation of Partial-Evaluation Algorithms. Ph.D. Dissertation. Department of Computer and Information Sciences, Kansas State University, Manhattan, KS. A. Storjohann. 2000. Algorithms for Matrix Canonical Forms. Ph.D. Dissertation. ETH Zurich, Zurich, Switzerland. R. Bagnara, P. M. Hill, and E. Zaffanella. 2008. The Parma Polyhedra Library: Toward a complete set of numerical abstractions for the analysis and verification of hardware and software systems. Science of Computer Programming 72, 1--2, 3--21. 10.1016/j.scico.2007.08.001 J. A. Howell. 1986. Spans in the module ( m)s. Linear and Multilinear Algebra 19, 1, 67--77. N. D. Jones and A. Mycroft. 1986. Data flow analysis of applicative programs using minimal function graphs. In Proceedings of the 13th ACM SIGACT-SIGPLAN Symposium on Principles of Programming Languages (POPL’86). 296--306. 10.1145/512644.512672 F. Nielson. 1989. Two-level semantics and abstract interpretation. Theoretical Computer Science 69, 117--242. 10.1016/0304-3975(89)90091-1 W. Pugh. 1994. Counting solutions to Presburger formulas: How and why. In Proceedings of the ACM SIGPLAN 1994 Conference on Programming Language Design and Implementation (PLDI’94). 121--134. 10.1145/178243.178254 M. Müller-Olm and H. Seidl. 2007. Analysis of modular arithmetic. Transactions on Programming Languages and Systems 29, 5, Article No. 29. 10.1145/1275497.1275504 D. A. Schmidt. 1986. Denotational Semantics. Allyn & Bacon, Boston, MA. N. Tawbi. 1994. Estimation of nested loop execution time by integer arithmetic in convex polyhedra. In Proceedings of the 8th International Symposium on Parallel Processing. 217--221. A. King and H. Søndergaard. 2008. Inferring congruence equations using SAT. In Proceedings of the 20th International Conference on Computer Aided Verification (CAV’08). 281--293. 10.1007/978-3-540-70545-1_26 T. Reps, S. Schwoon, S. Jha, and D. Melski. 2005. Weighted pushdown systems and their application to interprocedural dataflow analysis. Science of Computer Programming 58, 1--2, 206--263. 10.1016/j.scico.2005.02.009 M. Müller-Olm and H. Seidl. 2005c. Personal communication. J. Lim and T. Reps. 2008. A system for generating static analyzers for machine instructions. In Proceedings of the Joint European Conferences on Theory and Practice of Software 17th International Conference on Compiler Construction (CC’08/ETAPS’08). 36--52. T. Reps, M. Sagiv, and G. Yorsh. 2004. Symbolic implementation of the best transformer. In Verification, Model Checking, and Abstract Interpretation. Lecture Notes in Computer Science, Vol. 2937. 252--266. M. Elder, J. Lim, T. Sharma, T. Andersen, and T. Reps. 2011. Abstract domains of affine relations. In Proceedings of the 18th International Conference on Static Analysis (SAS’11). 198--215. M. Müller-Olm and H. Seidl. 2004. Precise interprocedural analysis through linear algebra. In Proceedings of the 31st ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages (POPL’04). 330--341. 10.1145/964001.964029 M. Müller-Olm and H. Seidl. 2005a. Analysis of modular arithmetic. In Programming Languages and Systems. Lecture Notes in Computer Science, Vol. 3444. Springer, 46--60. 10.1007/978-3-540-31987-0_5 A. Lal, T. Reps, and G. Balakrishnan. 2005. Extended weighted pushdown systems. In Proceedings of the 17th International Conference on Computer Aided Verification (CAV’05). 434--448. 10.1007/11513988_44 P. Cousot and N. Halbwachs. 1978. Automatic discovery of linear restraints among variables of a program. In Proceedings of the 5th ACM SIGACT-SIGPLAN Symposium on Principles of Programming Languages (POPL’78). 84--96. 10.1145/512760.512770 M. Fredrikson and S. Jha. 2013. Personal communication. S. Gulwani and G. C. Necula. 2003. Discovering affine equalities using random interpretation. In Proceedings of the 30th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages (POPL’03). 74--84. 10.1145/604131.604138 S. Gulwani and G. C. Necula. 2005. Precise interprocedural analysis using random interpretation. In Proceedings of the 32nd ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages (POPL’05). 324--337. 10.1145/1040305.1040332 A. Thakur, M. Elder, and T. Reps. 2012. Bilateral algorithms for symbolic abstraction. In Proceedings of the 19th International Conference on Static Analysis (SAS’12). 111--128. 10.1007/978-3-642-33125-1_10 A. King and H. Søndergaard. 2010. Automatic abstraction for congruences. In Proceedings of the 11th International Conference on Verification, Model Checking, and Abstract Interpretation (VMCAI’10). 197--213. 10.1007/978-3-642-11319-2_16 A. Thakur and T. Reps. 2012. A method for symbolic computation of abstract operations. In Proceedings of the 24th International Conference on Computer Aided Verification (CAV’12). 174--192. 10.1007/978-3-642-31424-7_17 H. S. Warren, Jr. 2003. Hacker’s Delight. Addison-Wesley. R. Bagnara, K. Dobson, P. M. Hill, M. Mundell, and E. Zaffanella. 2006. Grids: A domain for analyzing the distribution of numerical values. In Proceedings of the 16th International Conference on Logic-Based Program Synthesis and Transformation. 219--235. B. Jeannet. Polka. 2007. Retrieved September 2, 2014, from http://pop-art.inrialpes.fr/∼bjeannet/newpolka/polka.pdf. A. Bouajjani, J. Esparza, and T. Touili. 2003. A generic approach to the static analysis of concurrent programs with procedures. In Proceedings of the 30th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages (POPL’03). 62--73. 10.1145/604131.604137 A. Mycroft and N. D. Jones. 1985. A relational framework for abstract interpretation. In Proceedings of a Workshop on Programs as Data Objects. 156--171. M. Müller-Olm and H. Seidl. 2005b. A generic framework for interprocedural analysis of numerical properties. In Proceedings of the 12th International Conference on Static Analysis (SAS’05). 235--250. 10.1007/11547662_17 N. Kidd, A. Lal, and T. Reps. 2007. WALi: The Weighted Automata Library. Retrieved September 2, 2014, from www.cs.wisc.edu/wpis/wpds/download.php. M. Sharir and A. Pnueli. 1981. Two approaches to interprocedural data flow analysis. In Program Flow Analysis: Theory and Applications. Prentice Hall, 189--233. C. D. Meyer. 2000. Matrix Analysis and Applied Linear Algebra. SIAM, Philadelphia, PA. P. Cousot and R. Cousot. 1979. Systematic design of program analysis frameworks. In Proceedings of the 6th ACM SIGACT-SIGPLAN Symposium on Principles of Programming Languages (POPL’79). 269--282. 10.1145/567752.567778 P. Clauss. 1996. Counting solutions to linear and nonlinear constraints through Ehrhart polynomials: Applications to analyze and transform scientific programs. In Proceedings of the 10th International Conference on Supercomputing. 278--285. 10.1145/237578.237617 J. Knoop and B. Steffen. 1992. The interprocedural coincidence theorem. In Proceedings of the 4th International Conference on Compiler Construction (CC’92). 125--140. J. Lim and T. Reps. 2013. TSL: A system for generating abstract interpreters and its application to machine-code analysis. Transactions on Programming Languages and Systems 35, 1, 4. 10.1145/2450136.2450139 R. M. Burstall. 1969. Proving properties of programs by structural induction. Computer Journal 12, 1, 41--48. T. Fahringer. 1998. Efficient symbolic analysis for parallelizing compilers and performance estimators. Journal of Supercomputing 12, 3, 227--252. 10.1023/A:1008013906463 M. Karr. 1976. Affine relationship among variables of a program. Acta Informatica 6, 133--151. 10.1007/BF00268497 e_1_2_1_42_1 e_1_2_1_20_1 e_1_2_1_40_1 e_1_2_1_23_1 e_1_2_1_24_1 e_1_2_1_45_1 e_1_2_1_21_1 e_1_2_1_44_1 e_1_2_1_22_1 e_1_2_1_43_1 Dutertre B. (e_1_2_1_8_1) 2014 e_1_2_1_28_1 e_1_2_1_25_1 e_1_2_1_26_1 e_1_2_1_29_1 e_1_2_1_7_1 e_1_2_1_31_1 e_1_2_1_30_1 e_1_2_1_5_1 e_1_2_1_6_1 e_1_2_1_3_1 e_1_2_1_12_1 e_1_2_1_35_1 e_1_2_1_4_1 e_1_2_1_13_1 e_1_2_1_34_1 e_1_2_1_1_1 e_1_2_1_10_1 e_1_2_1_33_1 e_1_2_1_2_1 e_1_2_1_11_1 e_1_2_1_32_1 e_1_2_1_16_1 e_1_2_1_39_1 e_1_2_1_17_1 e_1_2_1_38_1 e_1_2_1_14_1 e_1_2_1_37_1 e_1_2_1_15_1 e_1_2_1_36_1 e_1_2_1_9_1 e_1_2_1_18_1 e_1_2_1_19_1 |
References_xml | – reference: M. Fredrikson and S. Jha. 2013. Personal communication. – reference: S. Gulwani and G. C. Necula. 2005. Precise interprocedural analysis using random interpretation. In Proceedings of the 32nd ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages (POPL’05). 324--337. 10.1145/1040305.1040332 – reference: A. King and H. Søndergaard. 2010. Automatic abstraction for congruences. In Proceedings of the 11th International Conference on Verification, Model Checking, and Abstract Interpretation (VMCAI’10). 197--213. 10.1007/978-3-642-11319-2_16 – reference: W. Pugh. 1994. Counting solutions to Presburger formulas: How and why. In Proceedings of the ACM SIGPLAN 1994 Conference on Programming Language Design and Implementation (PLDI’94). 121--134. 10.1145/178243.178254 – reference: A. King and H. Søndergaard. 2008. Inferring congruence equations using SAT. In Proceedings of the 20th International Conference on Computer Aided Verification (CAV’08). 281--293. 10.1007/978-3-540-70545-1_26 – reference: M. Karr. 1976. Affine relationship among variables of a program. Acta Informatica 6, 133--151. 10.1007/BF00268497 – reference: A. Storjohann. 2000. Algorithms for Matrix Canonical Forms. Ph.D. Dissertation. ETH Zurich, Zurich, Switzerland. – reference: S. Gulwani and G. C. Necula. 2003. Discovering affine equalities using random interpretation. In Proceedings of the 30th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages (POPL’03). 74--84. 10.1145/604131.604138 – reference: M. Müller-Olm and H. Seidl. 2007. Analysis of modular arithmetic. Transactions on Programming Languages and Systems 29, 5, Article No. 29. 10.1145/1275497.1275504 – reference: R. M. Burstall. 1969. Proving properties of programs by structural induction. Computer Journal 12, 1, 41--48. – reference: M. Müller-Olm and H. Seidl. 2005b. A generic framework for interprocedural analysis of numerical properties. In Proceedings of the 12th International Conference on Static Analysis (SAS’05). 235--250. 10.1007/11547662_17 – reference: M. Sharir and A. Pnueli. 1981. Two approaches to interprocedural data flow analysis. In Program Flow Analysis: Theory and Applications. Prentice Hall, 189--233. – reference: R. Bagnara, P. M. Hill, and E. Zaffanella. 2008. The Parma Polyhedra Library: Toward a complete set of numerical abstractions for the analysis and verification of hardware and software systems. Science of Computer Programming 72, 1--2, 3--21. 10.1016/j.scico.2007.08.001 – reference: B. Dutertre and L. de Moura. 2006. The Yices SMT Solver. Retrieved September 2, 2014, from http://yices.csl.sri.com. – reference: J. Lim and T. Reps. 2013. TSL: A system for generating abstract interpreters and its application to machine-code analysis. Transactions on Programming Languages and Systems 35, 1, 4. 10.1145/2450136.2450139 – reference: J. A. Howell. 1986. Spans in the module ( m)s. Linear and Multilinear Algebra 19, 1, 67--77. – reference: J. Knoop and B. Steffen. 1992. The interprocedural coincidence theorem. In Proceedings of the 4th International Conference on Compiler Construction (CC’92). 125--140. – reference: K. Malmkjær. 1993. Abstract Interpretation of Partial-Evaluation Algorithms. Ph.D. Dissertation. Department of Computer and Information Sciences, Kansas State University, Manhattan, KS. – reference: A. Bouajjani, J. Esparza, and T. Touili. 2003. A generic approach to the static analysis of concurrent programs with procedures. In Proceedings of the 30th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages (POPL’03). 62--73. 10.1145/604131.604137 – reference: N. D. Jones and A. Mycroft. 1986. Data flow analysis of applicative programs using minimal function graphs. In Proceedings of the 13th ACM SIGACT-SIGPLAN Symposium on Principles of Programming Languages (POPL’86). 296--306. 10.1145/512644.512672 – reference: M. Müller-Olm and H. Seidl. 2004. Precise interprocedural analysis through linear algebra. In Proceedings of the 31st ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages (POPL’04). 330--341. 10.1145/964001.964029 – reference: J. Lim and T. Reps. 2008. A system for generating static analyzers for machine instructions. In Proceedings of the Joint European Conferences on Theory and Practice of Software 17th International Conference on Compiler Construction (CC’08/ETAPS’08). 36--52. – reference: N. Tawbi. 1994. Estimation of nested loop execution time by integer arithmetic in convex polyhedra. In Proceedings of the 8th International Symposium on Parallel Processing. 217--221. – reference: M. Müller-Olm and H. Seidl. 2005a. Analysis of modular arithmetic. In Programming Languages and Systems. Lecture Notes in Computer Science, Vol. 3444. Springer, 46--60. 10.1007/978-3-540-31987-0_5 – reference: A. Thakur and T. Reps. 2012. A method for symbolic computation of abstract operations. In Proceedings of the 24th International Conference on Computer Aided Verification (CAV’12). 174--192. 10.1007/978-3-642-31424-7_17 – reference: A. Mycroft and N. D. Jones. 1985. A relational framework for abstract interpretation. In Proceedings of a Workshop on Programs as Data Objects. 156--171. – reference: M. Elder, J. Lim, T. Sharma, T. Andersen, and T. Reps. 2011. Abstract domains of affine relations. In Proceedings of the 18th International Conference on Static Analysis (SAS’11). 198--215. – reference: T. Reps, M. Sagiv, and G. Yorsh. 2004. Symbolic implementation of the best transformer. In Verification, Model Checking, and Abstract Interpretation. Lecture Notes in Computer Science, Vol. 2937. 252--266. – reference: D. A. Schmidt. 1986. Denotational Semantics. Allyn & Bacon, Boston, MA. – reference: P. Clauss. 1996. Counting solutions to linear and nonlinear constraints through Ehrhart polynomials: Applications to analyze and transform scientific programs. In Proceedings of the 10th International Conference on Supercomputing. 278--285. 10.1145/237578.237617 – reference: P. Granger. 1989. Static analysis of arithmetical congruences. International Journal of Computer Mathematics 30, 3--4, 165--190. – reference: C. D. Meyer. 2000. Matrix Analysis and Applied Linear Algebra. SIAM, Philadelphia, PA. – reference: R. Bagnara, K. Dobson, P. M. Hill, M. Mundell, and E. Zaffanella. 2006. Grids: A domain for analyzing the distribution of numerical values. In Proceedings of the 16th International Conference on Logic-Based Program Synthesis and Transformation. 219--235. – reference: P. Cousot and R. Cousot. 1979. Systematic design of program analysis frameworks. In Proceedings of the 6th ACM SIGACT-SIGPLAN Symposium on Principles of Programming Languages (POPL’79). 269--282. 10.1145/567752.567778 – reference: N. Kidd, A. Lal, and T. Reps. 2007. WALi: The Weighted Automata Library. Retrieved September 2, 2014, from www.cs.wisc.edu/wpis/wpds/download.php. – reference: A. Thakur, M. Elder, and T. Reps. 2012. Bilateral algorithms for symbolic abstraction. In Proceedings of the 19th International Conference on Static Analysis (SAS’12). 111--128. 10.1007/978-3-642-33125-1_10 – reference: B. Jeannet. Polka. 2007. Retrieved September 2, 2014, from http://pop-art.inrialpes.fr/∼bjeannet/newpolka/polka.pdf. – reference: F. Nielson. 1989. Two-level semantics and abstract interpretation. Theoretical Computer Science 69, 117--242. 10.1016/0304-3975(89)90091-1 – reference: M. Müller-Olm and H. Seidl. 2005c. Personal communication. – reference: T. Fahringer. 1998. Efficient symbolic analysis for parallelizing compilers and performance estimators. Journal of Supercomputing 12, 3, 227--252. 10.1023/A:1008013906463 – reference: T. Reps, S. Schwoon, S. Jha, and D. Melski. 2005. Weighted pushdown systems and their application to interprocedural dataflow analysis. Science of Computer Programming 58, 1--2, 206--263. 10.1016/j.scico.2005.02.009 – reference: A. Lal and T. Reps. 2006. Improving pushdown system model checking. In Proceedings of the 18th International Conference on Computer Aided Verification (CAV’06). 343--357. 10.1007/11817963_32 – reference: P. Cousot and N. Halbwachs. 1978. Automatic discovery of linear restraints among variables of a program. In Proceedings of the 5th ACM SIGACT-SIGPLAN Symposium on Principles of Programming Languages (POPL’78). 84--96. 10.1145/512760.512770 – reference: A. Lal, T. Reps, and G. Balakrishnan. 2005. Extended weighted pushdown systems. In Proceedings of the 17th International Conference on Computer Aided Verification (CAV’05). 434--448. 10.1007/11513988_44 – reference: H. S. Warren, Jr. 2003. Hacker’s Delight. Addison-Wesley. – ident: e_1_2_1_17_1 doi: 10.1145/512644.512672 – ident: e_1_2_1_32_1 – ident: e_1_2_1_36_1 doi: 10.1145/178243.178254 – ident: e_1_2_1_9_1 doi: 10.5555/2041552.2041569 – ident: e_1_2_1_6_1 doi: 10.1145/567752.567778 – ident: e_1_2_1_13_1 doi: 10.1145/604131.604138 – ident: e_1_2_1_40_1 – ident: e_1_2_1_25_1 doi: 10.5555/1788374.1788379 – ident: e_1_2_1_33_1 doi: 10.1145/1275497.1275504 – ident: e_1_2_1_16_1 – ident: e_1_2_1_12_1 doi: 10.1080/00207168908803778 – ident: e_1_2_1_19_1 – ident: e_1_2_1_7_1 doi: 10.1145/512760.512770 – ident: e_1_2_1_10_1 doi: 10.1023/A:1008013906463 – ident: e_1_2_1_18_1 doi: 10.1007/BF00268497 – ident: e_1_2_1_37_1 doi: 10.1007/978-3-540-24622-0_21 – ident: e_1_2_1_2_1 doi: 10.1016/j.scico.2007.08.001 – ident: e_1_2_1_24_1 doi: 10.1007/11513988_44 – ident: e_1_2_1_35_1 doi: 10.1016/0304-3975(89)90091-1 – ident: e_1_2_1_34_1 doi: 10.5555/22788.22800 – ident: e_1_2_1_26_1 doi: 10.1145/2450136.2450139 – ident: e_1_2_1_42_1 doi: 10.5555/645604.662896 – ident: e_1_2_1_45_1 – ident: e_1_2_1_22_1 doi: 10.5555/647471.727286 – ident: e_1_2_1_23_1 doi: 10.1007/11817963_32 – ident: e_1_2_1_28_1 doi: 10.5555/343374 – ident: e_1_2_1_29_1 doi: 10.1145/964001.964029 – ident: e_1_2_1_11_1 – ident: e_1_2_1_20_1 doi: 10.1007/978-3-540-70545-1_26 – ident: e_1_2_1_31_1 doi: 10.1007/11547662_17 – ident: e_1_2_1_43_1 doi: 10.1007/978-3-642-33125-1_10 – volume-title: The Yices SMT Solver. Retrieved year: 2014 ident: e_1_2_1_8_1 – ident: e_1_2_1_3_1 doi: 10.1145/604131.604137 – ident: e_1_2_1_4_1 doi: 10.1093/comjnl/12.1.41 – ident: e_1_2_1_21_1 doi: 10.1007/978-3-642-11319-2_16 – ident: e_1_2_1_30_1 doi: 10.1007/978-3-540-31987-0_5 – ident: e_1_2_1_15_1 doi: 10.1080/03081088608817705 – ident: e_1_2_1_38_1 doi: 10.1016/j.scico.2005.02.009 – ident: e_1_2_1_14_1 doi: 10.1145/1040305.1040332 – ident: e_1_2_1_39_1 – ident: e_1_2_1_44_1 doi: 10.1007/978-3-642-31424-7_17 – ident: e_1_2_1_1_1 doi: 10.5555/1759187.1759209 – ident: e_1_2_1_5_1 doi: 10.1145/237578.237617 |
SSID | ssj0001858 |
Score | 2.1581085 |
Snippet | This article considers some known abstract domains for affine-relation analysis (ARA), along with several variants, and studies how they relate to each other.... |
SourceID | proquest crossref acm |
SourceType | Aggregation Database Enrichment Source Index Database Publisher |
StartPage | 1 |
SubjectTerms | Algorithms Analyzers Assertion checking Assertions Blasting Blocking Cross-computing tools and techniques Empirical software validation Formal methods Formal software verification Functional verification General and reference Hardware Hardware validation Invariants Mathematical analysis Process validation Program reasoning Program verification Rings (mathematics) Semantics Semantics and reasoning Software and its engineering Software creation and management Software functional properties Software organization and properties Software verification and validation Theory of computation Transformers Validation |
SubjectTermsDisplay | General and reference -- Cross-computing tools and techniques -- Validation Hardware -- Hardware validation -- Functional verification -- Assertion checking Software and its engineering -- Software creation and management -- Software verification and validation Software and its engineering -- Software creation and management -- Software verification and validation -- Empirical software validation Software and its engineering -- Software creation and management -- Software verification and validation -- Formal software verification Software and its engineering -- Software creation and management -- Software verification and validation -- Process validation Software and its engineering -- Software organization and properties -- Software functional properties -- Formal methods Theory of computation -- Semantics and reasoning -- Program reasoning -- Assertions Theory of computation -- Semantics and reasoning -- Program reasoning -- Invariants Theory of computation -- Semantics and reasoning -- Program reasoning -- Program verification |
Title | Abstract Domains of Affine Relations |
URI | https://dl.acm.org/doi/10.1145/2651361 https://www.proquest.com/docview/1793249302 |
Volume | 36 |
hasFullText | 1 |
inHoldings | 1 |
isFullTextHit | |
isPrint | |
link | http://utb.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwnV1Lb9QwELagvXDhUUCUl4JUcXOJnbGTHKMCqhDLpVupt8iv0EpsFrHZS399x7HjTdUegEu08nqtrGfyzefJPAg5KmzdOVWWtKxqQ8EKSzUvBHWW50ahRc7VGOX7Q56ew7cLcbHr3zlmlwz62Fzfm1fyP1LFMZSrz5L9B8mmRXEAP6N88YoSxutfybjR3lFhBqTBK3UVAtqarvPEMQW5zdlnc7LwPSGmBuHjm4IYoLXyLoPJeRnqNm9mxczH6A4bxOtbhKc4nquYZd3_vHRJR87GetijKmw3lyrF_zZjJk0AuqUH3rnPgYEH65jDHbRkMXdJSqB5HdKXj12EUVFREKH34YSzodBJ1CeYgSabWd_Q1-QuroMvgcGlYIVkO9OVAgrjNw_JPsfjAgL0fvN58f0s2WRkJVWo8h7uNaRP-2U_xZ96dmJWt9nJbeM8Mo7lU_I4HhWyJsj9GXng-gPyZGrDkUVUfk6OJjXIohpk6y4LapAlNXhBzr9-WZ6c0tj8gipk3APVZVl0olYcJKiu7iy3CKUMOjRfRjNujc5VgU8UUtbaSsasKoGD5rmsahCmeEn2-nXvXpEM8AzpOJNaSAPcqQoKx4zE4YobfFYPyQH-9fZ3KG_Sxg05JB-nrWhNrBfv25b8akMuu9hNzNLEaY07Uz5Me9kifPl3Uqp36-2m9faBQ13k_PW9d_GGPNop4FuyN_zZundIAwf9Psr4BitcWig |
linkProvider | EBSCOhost |
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=Abstract+Domains+of+Affine+Relations&rft.jtitle=ACM+transactions+on+programming+languages+and+systems&rft.au=Elder%2C+Matt&rft.au=Lim%2C+Junghee&rft.au=Sharma%2C+Tushar&rft.au=Andersen%2C+Tycho&rft.date=2014-10-28&rft.pub=ACM&rft.issn=0164-0925&rft.eissn=1558-4593&rft.volume=36&rft.issue=4&rft.spage=1&rft.epage=73&rft_id=info:doi/10.1145%2F2651361&rft.externalDocID=2651361 |
thumbnail_l | http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/lc.gif&issn=0164-0925&client=summon |
thumbnail_m | http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/mc.gif&issn=0164-0925&client=summon |
thumbnail_s | http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/sc.gif&issn=0164-0925&client=summon |