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...

Full description

Saved in:
Bibliographic Details
Published inACM transactions on programming languages and systems Vol. 36; no. 4; pp. 1 - 73
Main Authors Elder, Matt, Lim, Junghee, Sharma, Tushar, Andersen, Tycho, Reps, Thomas
Format Journal Article
LanguageEnglish
Published New York, NY, USA ACM 28.10.2014
Subjects
Online AccessGet full text
ISSN0164-0925
1558-4593
DOI10.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