Abstract
Satisfiability modulo theory solvers can help automate the search for the root cause of observable software errors.
- Agrawal, H. and Horgan, J. Dynamic program slicing. In Proceedings of the ACM SIGPLAN Conference on Programming Language Design and Implementation (White Plains, NY, June 20-22). ACM Press, New York, 1990. Google ScholarDigital Library
- Albarghouthi, A. and McMillan, K.L. Beautiful interpolants. In Proceedings of the 25<sup>th</sup> International Conference on Computer-Aided Verification, Lecture Notes in Computer Science 8044 (Saint Petersburg, Russia, July 13-19). Springer, 2013.Google Scholar
- Banerjee, A., Roychoudhury, A., Harlie, J.A., and Liang, Z. Golden implementation-driven software debugging. In Proceedings of the 18<sup>th</sup> International Symposium on Foundations of Software Engineering (Santa Fe, NM, Nov. 7-11). ACM Press, New York, 2010, 177--186. Google ScholarDigital Library
- Cadar, C. and Sen, K. Symbolic execution for software testing: Three decades later. Commun. ACM 56, 1 (Jan. 2013), 82--90. Google ScholarDigital Library
- Chandra, S., Torlak, E., Barman, S., and Bodik, R. Angelic debugging. In Proceedings of the 33<sup>rd</sup> International Conference on Software Engineering (Honolulu, HI, May 21-28). ACM Press, New York, 2011, 121--130. Google ScholarDigital Library
- Christ, J., Ermis, E., Schaff, M., and Wies, T. Flow sensitive fault localization. In Proceedings of the 14<sup>th</sup> International Conference on Verification Model Checking and Abstract Interpretation (Rome, Italy, Jan. 20-22). Springer, 2013. Google ScholarDigital Library
- Cleve, H. and Zeller, A. Locating causes of program failures. In Proceedings of the 27<sup>th</sup> International Conference on Software Engineering (St. Louis, MO, May 15-21). ACM Press, New York, 2005. Google ScholarDigital Library
- de Moura, L. and Björner, N. Satisfiability modulo theories: Introduction and applications. Commun. ACM 54, 9 (Sept. 2011), 69--77. Google ScholarDigital Library
- Ermis, E., Schaff, M., and Wies, T. Error invariants. In Proceedings of the 18<sup>th</sup> International Symposium on Formal Methods, Lecture Notes in Computer Science (Paris, France, Aug. 27-31). Springer, 2012.Google Scholar
- GNU Core Utilities; http://www.gnu.org/software/coreutils/coreutils.htmlGoogle Scholar
- Jin, W. and Orso, A. BugRedux: Reproducing field failures for in-house debugging. In Proceedings of the 34<sup>th</sup> International Conference on Software Engineering (Zürich, Switzerland, June 2-9). IEEE, 2012. Google ScholarDigital Library
- Jones, J.A., Harrold, M.J., and Stasko, J.T. Visualization of test information to assist fault localization. In Proceedings of the 24<sup>th</sup> International Conference on Software Engineering (Orlando, FL, May 19-25). ACM Press, New York, 2002. Google ScholarDigital Library
- Jose, M. and Majumdar, R. Cause clue clauses: Error localization using maximum satisfiability. In Proceedings of the 32<sup>nd</sup> International Conference on Programming Language Design and Implementation (San Jose, CA, June 4-8). ACM Press, New York, 2011, 437--446. Google ScholarDigital Library
- King, J.C. Symbolic execution and program testing. Commun. ACM 19, 7 (July 1976) 385--394. Google ScholarDigital Library
- Liblit, B., Naik, M., Zheng, A.X., Aiken, A., and Jordan, M.I. Scalable statistical bug isolation. In Proceedings of the ACM SIGPLAN Conference on Programming Language Design and Implementation (Chicago, IL, June 12-15). ACM Press, New York, 2005, 15--26. Google ScholarDigital Library
- McMillan, K.L. An interpolating theorem prover. Theoretical Computer Science 345, 1 (Nov. 2005), 101--121. Google ScholarDigital Library
- Mechtaev, S., Yi, J., and Roychoudhury, A. DirectFix: Looking for simple program repairs. In Proceedings of the 37<sup>th</sup> IEEE/ACM International Conference on Software Engineering (Firenze, Italy, May 16-24). IEEE, 2015, 448--458. Google ScholarDigital Library
- Mechtaev, S., Yi, J., and Roychoudhury, A. Angelix: Scalable multiline program patch synthesis via symbolic analysis. In Proceedings of the 38<sup>th</sup> International Conference on Software Engineering (Austin, TX, May 14-22) ACM Press, New York, 2016. Google ScholarDigital Library
- Morgado, A., Heras, F., Liffiton, M., Planes, J., and Marques-Silva, J. Iterative and core-guided MaxSAT solving: A survey and assessment. Constraints 18, 4 (2013), 478--534. Google ScholarDigital Library
- Nguyen, H.D.T., Qi, D., Roychoudhury, A., and Chandra, S. SemFix: Program repair via semantic analysis. In Proceedings of the 35<sup>th</sup> International Conference on Software Engineering (San Francisco, CA, May 18-26). IEEE/ACM, 2013, 772--781. Google ScholarDigital Library
- Parnin, C. and Orso, A. Are automated debugging techniques actually helping programmers? In Proceedings of the 20<sup>th</sup> International Symposium on Software Testing and Analysis (Toronto, ON, Canada, July 17-21) ACM Press, New York, 2011, 199--209. Google ScholarDigital Library
- Qi, D., Roychoudhury, A., Liang, Z., and Vaswani, K. DARWIN: An approach for debugging evolving programs. ACM Transactions on Software Engineering and Methodology 21, 3 (2012). Google ScholarDigital Library
- Weiser, M. Program slicing. IEEE Transactions on Software Engineering 10, 4 (1984), 352--357. Google ScholarDigital Library
- Zeller, A. Yesterday my program worked. Today it fails. Why? In Proceedings of the Seventh Joint Meeting of European Software Engineering Conference and ACM SIGSOFT Symposium on Foundations of Software Engineering, Lecture Notes in Computer Science (Toulouse, France, Sept. 1999). Springer, 1999, 253--267. Google ScholarDigital Library
- Zeller, A. Why Programs Fail: A Guide to Systematic Debugging. Elsevier, 2006. Google ScholarDigital Library
Index Terms
- Formula-based software debugging
Recommendations
Concurrency debugging with MaxSMT
AAAI'19/IAAI'19/EAAI'19: Proceedings of the Thirty-Third AAAI Conference on Artificial Intelligence and Thirty-First Innovative Applications of Artificial Intelligence Conference and Ninth AAAI Symposium on Educational Advances in Artificial IntelligenceCurrent Maximum Satisfability (MaxSAT) algorithms based on successive calls to a powerful Satisfability (SAT) solver are now able to solve real-world instances in many application domains. Moreover, replacing the SAT solver with a Satisfability Modulo ...
Circuit based encoding of CNF formula
SAT'07: Proceedings of the 10th international conference on Theory and applications of satisfiability testingIn this paper a new circuit SAT based encoding of boolean formula is proposed. It makes an original use of the concept of restrictive models introduced by Boufkhad to polynomially translate any formula in conjunctive normal form (CNF) to a circuit SAT ...
Replay debugging: leveraging record and replay for program debugging
ISCA '14: Proceeding of the 41st annual international symposium on Computer architecutureHardware-assisted Record and Deterministic Replay (RnR) of programs has been proposed as a primitive for debugging hard-to-repeat software bugs. However, simply providing support for repeatedly stumbling on the same bug does not help diagnose it. For ...
Comments