Export Citations
Save this search
Please login to be able to save your searches and receive alerts for new content matching your search criteria.
- research-articleSeptember 2023
Optimizing Homomorphic Evaluation Circuits by Program Synthesis and Time-bounded Exhaustive Search
ACM Transactions on Programming Languages and Systems (TOPLAS), Volume 45, Issue 3Article No.: 16, Pages 1–37https://doi.org/10.1145/3591622We present a new and general method for optimizing homomorphic evaluation circuits. Although fully homomorphic encryption (FHE) holds the promise of enabling safe and secure third party computation, building FHE applications has been challenging due to ...
Inductive Program Synthesis via Iterative Forward-Backward Abstract Interpretation
Proceedings of the ACM on Programming Languages (PACMPL), Volume 7, Issue PLDIArticle No.: 174, Pages 1657–1681https://doi.org/10.1145/3591288A key challenge in example-based program synthesis is the gigantic search space of programs. To address this challenge, various work proposed to use abstract interpretation to prune the search space. However, most of existing approaches have focused ...
- posterOctober 2022
A static analyzer for detecting tensor shape errors in deep neural network training code
ICSE '22: Proceedings of the ACM/IEEE 44th International Conference on Software Engineering: Companion ProceedingsPages 337–338https://doi.org/10.1145/3510454.3528638We present an automatic static analyzer PyTea that detects tensor-shape errors in PyTorch code. The tensor-shape error is critical in the deep neural net code; much of the training cost and intermediate results are to be lost once a tensor shape ...
Optimizing homomorphic evaluation circuits by program synthesis and term rewriting
PLDI 2020: Proceedings of the 41st ACM SIGPLAN Conference on Programming Language Design and ImplementationPages 503–518https://doi.org/10.1145/3385412.3385996We present a new and general method for optimizing homomorphic evaluation circuits. Although fully homomorphic encryption (FHE) holds the promise of enabling safe and secure third party computation, building FHE applications has been challenging due to ...
- research-articleNovember 2018
Adaptive Static Analysis via Learning with Bayesian Optimization
ACM Transactions on Programming Languages and Systems (TOPLAS), Volume 40, Issue 4Article No.: 14, Pages 1–37https://doi.org/10.1145/3121135Building a cost-effective static analyzer for real-world programs is still regarded an art. One key contributor to this grim reputation is the difficulty in balancing the cost and the precision of an analyzer. An ideal analyzer should be adaptive to a ...
-
Crellvm: verified credible compilation for LLVM
- Jeehoon Kang,
- Yoonseung Kim,
- Youngju Song,
- Juneyoung Lee,
- Sanghoon Park,
- Mark Dongyeon Shin,
- Yonghyun Kim,
- Sungkeun Cho,
- Joonwon Choi,
- Chung-Kil Hur,
- Kwangkeun Yi
PLDI 2018: Proceedings of the 39th ACM SIGPLAN Conference on Programming Language Design and ImplementationPages 631–645https://doi.org/10.1145/3192366.3192377Production compilers such as GCC and LLVM are large complex software systems, for which achieving a high level of reliability is hard. Although testing is an effective method for finding bugs, it alone cannot guarantee a high level of reliability. To ...
Also Published in:
ACM SIGPLAN Notices: Volume 53 Issue 4- research-articleAugust 2017
Sound Non-Statistical Clustering of Static Analysis Alarms
ACM Transactions on Programming Languages and Systems (TOPLAS), Volume 39, Issue 4Article No.: 16, Pages 1–35https://doi.org/10.1145/3095021We present a sound method for clustering alarms from static analyzers. Our method clusters alarms by discovering sound dependencies between them such that if the dominant alarms of a cluster turns out to be false, all the other alarms in the same cluster ...
- research-articleMay 2017
Machine-learning-guided selectively unsound static analysis
ICSE '17: Proceedings of the 39th International Conference on Software EngineeringPages 519–529https://doi.org/10.1109/ICSE.2017.54We present a machine-learning-based technique for selectively applying unsoundness in static analysis. Existing bug-finding static analyzers are unsound in order to be precise and scalable in practice. However, they are uniformly unsound and hence at ...
- articleOctober 2016
Widening with thresholds via binary search
Software—Practice & Experience (SPRE), Volume 46, Issue 10Pages 1317–1328https://doi.org/10.1002/spe.2381In this paper, we present a useful technique for implementing practical static program analyzers that use widening. Our technique aims to improve the efficiency of the conventional widening-with-thresholds technique at a small precision compromise. In ...
- research-articleDecember 2015
Selective X-Sensitive Analysis Guided by Impact Pre-Analysis
ACM Transactions on Programming Languages and Systems (TOPLAS), Volume 38, Issue 2Article No.: 6, Pages 1–45https://doi.org/10.1145/2821504We present a method for selectively applying context-sensitivity during interprocedural program analysis. Our method applies context-sensitivity only when and where doing so is likely to improve the precision that matters for resolving given queries. The ...
- research-articleOctober 2015
Learning a strategy for adapting a program analysis via bayesian optimisation
OOPSLA 2015: Proceedings of the 2015 ACM SIGPLAN International Conference on Object-Oriented Programming, Systems, Languages, and ApplicationsPages 572–588https://doi.org/10.1145/2814270.2814309Building a cost-effective static analyser for real-world programs is still regarded an art. One key contributor to this grim reputation is the difficulty in balancing the cost and the precision of an analyser. An ideal analyser should be adaptive to a ...
Also Published in:
ACM SIGPLAN Notices: Volume 50 Issue 10 - research-articleSeptember 2014
Global Sparse Analysis Framework
ACM Transactions on Programming Languages and Systems (TOPLAS), Volume 36, Issue 3Article No.: 8, Pages 1–44https://doi.org/10.1145/2590811In this article, we present a general method for achieving global static analyzers that are precise and sound, yet also scalable. Our method, on top of the abstract interpretation framework, is a general sparse analysis technique that supports relational ...
- research-articleJune 2014
Selective context-sensitivity guided by impact pre-analysis
PLDI '14: Proceedings of the 35th ACM SIGPLAN Conference on Programming Language Design and ImplementationPages 475–484https://doi.org/10.1145/2594291.2594318We present a method for selectively applying context-sensitivity during interprocedural program analysis. Our method applies context-sensitivity only when and where doing so is likely to improve the precision that matters for resolving given queries. ...
Also Published in:
ACM SIGPLAN Notices: Volume 49 Issue 6 - ArticleJuly 2012
Termination analysis with algorithmic learning
CAV'12: Proceedings of the 24th international conference on Computer Aided VerificationPages 88–104https://doi.org/10.1007/978-3-642-31424-7_12An algorithmic-learning-based termination analysis technique is presented. The new technique combines transition predicate abstraction, algorithmic learning, and decision procedures to compute transition invariants as proofs of program termination. ...
- research-articleJune 2012
Design and implementation of sparse global analyses for C-like languages
PLDI '12: Proceedings of the 33rd ACM SIGPLAN Conference on Programming Language Design and ImplementationPages 229–238https://doi.org/10.1145/2254064.2254092In this article we present a general method for achieving global static analyzers that are precise, sound, yet also scalable. Our method generalizes the sparse analysis techniques on top of the abstract interpretation framework to support relational as ...
Also Published in:
ACM SIGPLAN Notices: Volume 47 Issue 6 - research-articleJune 2012
The implicit calculus: a new foundation for generic programming
PLDI '12: Proceedings of the 33rd ACM SIGPLAN Conference on Programming Language Design and ImplementationPages 35–44https://doi.org/10.1145/2254064.2254070Generic programming (GP) is an increasingly important trend in programming languages. Well-known GP mechanisms, such as type classes and the C++0x concepts proposal, usually combine two features: 1) a special type of interfaces; and 2) implicit ...
Also Published in:
ACM SIGPLAN Notices: Volume 47 Issue 6 - ArticleMarch 2012
GMETA: a generic formal metatheory framework for first-order representations
ESOP'12: Proceedings of the 21st European conference on Programming Languages and SystemsPages 436–455https://doi.org/10.1007/978-3-642-28869-2_22This paper presents GMeta: a generic framework for first-order representations of variable binding that provides once and for all many of the so-called infrastructure lemmas and definitions required in mechanizations of formal metatheory. The key idea ...
- ArticleJanuary 2012
Sound non-statistical clustering of static analysis alarms
VMCAI'12: Proceedings of the 13th international conference on Verification, Model Checking, and Abstract InterpretationPages 299–314https://doi.org/10.1007/978-3-642-27940-9_20We present a sound method for clustering alarms from static analyzers. Our method clusters alarms by discovering sound dependencies between them such that if the dominant alarm of a cluster turns out to be false (respectively true) then it is assured ...
- ArticleDecember 2011
Access-Based localization with bypassing
APLAS'11: Proceedings of the 9th Asian conference on Programming Languages and SystemsPages 50–65https://doi.org/10.1007/978-3-642-25318-8_7We present an extension of access-based localization technique to mitigate a substantial inefficiency in handling procedure calls. Recently, access-based localization was proposed as an effective way of tightly localizing abstract memories. However, it ...
- research-articleMay 2011
MeCC: memory comparison-based clone detector
ICSE '11: Proceedings of the 33rd International Conference on Software EngineeringPages 301–310https://doi.org/10.1145/1985793.1985835In this paper, we propose a new semantic clone detection technique by comparing programs' abstract memory states, which are computed by a semantic-based static analyzer.
Our experimental study using three large-scale open source projects shows that our ...