Nothing Special   »   [go: up one dir, main page]

skip to main content
10.1145/781131.781148acmconferencesArticle/Chapter ViewAbstractPublication PagespldiConference Proceedingsconference-collections
Article

Bug isolation via remote program sampling

Published: 09 May 2003 Publication History

Abstract

We propose a low-overhead sampling infrastructure for gathering information from the executions experienced by a program's user community. Several example applications illustrate ways to use sampled instrumentation to isolate bugs. Assertion-dense code can be transformed to share the cost of assertions among many users. Lacking assertions, broad guesses can be made about predicates that predict program errors and a process of elimination used to whittle these down to the true bug. Finally, even for non-deterministic bugs such as memory corruption, statistical modeling based on logistic regression allows us to identify program behaviors that are strongly correlated with failure and are therefore likely places to look for the error.

References

[1]
J. M. Anderson, L. M. Berc, J. Dean, S. Ghemawat, M. R. Henzinger, S.-T. A. Leung, R. L. Sites, M. T. Vandevoorde, C. A. Waldspurger, and W. E. Weihl. Continuous profiling: Where have all the cycles gone? ACM Transactions on Computer Systems, 15(4):357--390, Nov. 1997.
[2]
M. Arnold and B. Ryder. A framework for reducing the cost of instrumented code. ACM SIGPLAN Notices, 36(5):168--179, May 2001.
[3]
M. Arnold and P. F. Sweeney. Approximating the calling context tree via sampling. Research report RC 21789 (98099), IBM T.J. Watson Research Center, Yorktown Heights, New York, July 7 2000.
[4]
Association for Computing Machinery. Proceedings of the International Conference on Software Engineering, Buenos Aires, Argentina, May 2002.
[5]
J. Bowring, A. Orso, and M. J. Harrold. Monitoring deployed software using software tomography. In M. B. Dwyer, editor, Proceedings of the 2002 ACM SIGPLAN-SIGSOFT workshop on Program analysis for software tools and engineering (PASTE-02), volume 28, 1 of SOFTWARE ENGINEERING NOTES, pages 2--9. ACM Press, 2002.
[6]
L. Breiman, J. H. Friedman, R. A. Olshen, and C. J. Stone. Classification and Regression Trees. Statistics/Probability Series. Wadsworth Publishing Company, Belmont, California, U.S.A., 1984.
[7]
P. Broadwell, M. Harren, and N. Sastry. Scrash: A system for generating secure crash information. In Proceedings of the 11th USENIX Security Symposium, Washington, DC, Aug. 4--8 2003. To appear.
[8]
M. Burrows, U. Erlingson, S.-T. Leung, M. Vandevoorde, C. Waldspurger, K. Walker, and B. Weihl. Efficient and flexible value sampling. ACM SIGPLAN Notices, 35(11):160--167, Nov. 2000.
[9]
J. Canny. Collaborative filtering with privacy. In Proceedings of the IEEE Symposium on Research in Security and Privacy, pages 45--57, Oakland, CA, May 2002. IEEE Computer Society, Technical Committee on Security and Privacy, IEEE Computer Society Press.
[10]
M. C. Carlisle. Olden: Parallelizing Programs with Dynamic Data Structures on Distributed-Memory Machines. PhD thesis, Department of Computer Science, Princeton University, June 1996.
[11]
C. Dellarocas. Immunizing online reputation reporting systems against unfair ratings and discriminatory behavior. In Proceedings of the 2nd ACM Conference on Electronic Commerce (EC-00), pages 150--157. ACM, 2000.
[12]
B. Demsky and M. C. Rinard. Role-based exploration of object-oriented programs. In Proceedings of the International Conference on Software Engineering {4}.
[13]
M. D. Ernst, J. Cockrell, W. G. Griswold, and D. Notkin. Dynamically discovering likely program invariants to support program evolution. IEEE Transactions on Software Engineering, 27(2):1--25, Feb. 2001.
[14]
D. Esler. Welcome to the virtual ramp. Overhaul & Maintenance, VII(2):55, Mar. 2001.
[15]
T. R. Golub, D. K. Slonim, P. Tamayo, C. Huard, M. Gaasenbeek, J. P. Mesirov, H. Coller, M. L. Loh, J. R. Downing, M. A. Caligiuri, C. D. Bloomfield, and E. S. Lander. Molecular classification of cancer: class discovery and class prediction by gene expression monitoring. Science, 286(5439):531--537, 1999.
[16]
S. Hangal and M. S. Lam. Tracking down software bugs using automatic anomaly detection. In Proceedings of the International Conference on Software Engineering {4}, pages 291--301.
[17]
T. Hastie, R. Tibshirani, and J. Friedman. The Elements of Statistical Learning. Stats. Springer, 2001.
[18]
M. Hirzel and T. Chilimbi. Bursty tracing: A framework for low-overhead temporal profiling. In 4th ACM Workshop on Feedback-Directed and Dynamic Optimization, Austin, Texas, Dec. 1 2001.
[19]
Microsoft Corp. Microsoft 2002 annual report and form 10-K. Available at http://www.microsoft.com/msft/ar02/, Redmond, Washington, 2002.
[20]
B. Miller, D. Koski, C. P. Lee, V. Maganty, R. Murthy, A. Natarajan, and J. Steidl. Fuzz revisited: A re-examination of the reliability of UNIX utilities and services. Technical report, Computer Science Department, University of Wisconsin, Madison, WI, 1995.
[21]
G. Necula, S. McPeak, and W. Weimer. CCured: Type-safe retrofitting of legacy code. In C. Norris and J. James B. Fenwick, editors, Proceedings of the 2002 ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages (POPL-02), volume 37, 1 of ACM SIGPLAN Notices, pages 128--139. ACM Press, 2002.
[22]
S. P. Reiss and M. Renieris. Encoding program executions. In Proceedings of the 23rd International Conference on Software Engeneering (ICSE-01), pages 221--232. IEEE Computer Society, 2001.
[23]
SPEC 95. Standard Performance Evaluation Corporation Benchmarks. http://www.spec.org/osg/cpu95/CINT95/, July 1995.
[24]
R. Tibshirani, T. Hastie, B. Narasimhan, and G. Chu. Diagnosis of multiple cancer types by shrunken centroids of gene expression. PNAS, 99(10):6567--6572, 2002.
[25]
O. Traub, S. Schechter, and M. D. Smith. Ephemeral instrumentation for lightweight program profiling. Unpublished technical report, Department of Electrical Engineering and Computer Science, Hardward University, Cambridge, Massachusetts, June 2000.
[26]
D. M. Volpano and G. Smith. A type-based approach to program security. In M. Bidoit and M. Dauchet, editors, TAPSOFT '97: Theory and Practice of Software Development, volume 1214 of Lecture Notes in Computer Science, pages 607--621. Springer-Verlag, 1997.
[27]
J. Whaley. A portable sampling-based profiler for Java virtual machines. In Proceedings of the ACM 2000 conference on Java Grande, pages 78--87. ACM Press, 2000.
[28]
S. Zdancewic, L. Zheng, N. Nystrom, and A. C. Myers. Untrusted hosts and confidentiality: Secure program partitioning. In Proceedings of the 18th ACM Symposium on Operating Systems Principles (SOSP'01), pages 1--14. Chateau Lake Louise, Banff, Alberta, Canada, Oct. 2001. Appeared as ACM Operating Systems Review 35.5.

Cited By

View all
  • (2024)Using Semeru Cloud Compiler to Enhance Cloud-Native Java Application Performance2024 34th International Conference on Collaborative Advances in Software and COmputiNg (CASCON)10.1109/CASCON62161.2024.10838216(1-9)Online publication date: 11-Nov-2024
  • (2023)Variable-based Fault Localization via Enhanced Decision TreeACM Transactions on Software Engineering and Methodology10.1145/362474133:2(1-32)Online publication date: 18-Sep-2023
  • (2023)Alligator in Vest: A Practical Failure-Diagnosis Framework via Arm Hardware FeaturesProceedings of the 32nd ACM SIGSOFT International Symposium on Software Testing and Analysis10.1145/3597926.3598106(917-928)Online publication date: 13-Jul-2023
  • Show More Cited By

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image ACM Conferences
PLDI '03: Proceedings of the ACM SIGPLAN 2003 conference on Programming language design and implementation
June 2003
360 pages
ISBN:1581136625
DOI:10.1145/781131
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 [email protected]

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 09 May 2003

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. assertions
  2. bug isolation
  3. feature selection
  4. logistic regression
  5. random sampling
  6. statistical debugging

Qualifiers

  • Article

Conference

PLDI03
Sponsor:

Acceptance Rates

PLDI '03 Paper Acceptance Rate 28 of 131 submissions, 21%;
Overall Acceptance Rate 406 of 2,067 submissions, 20%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)46
  • Downloads (Last 6 weeks)4
Reflects downloads up to 02 Feb 2025

Other Metrics

Citations

Cited By

View all
  • (2024)Using Semeru Cloud Compiler to Enhance Cloud-Native Java Application Performance2024 34th International Conference on Collaborative Advances in Software and COmputiNg (CASCON)10.1109/CASCON62161.2024.10838216(1-9)Online publication date: 11-Nov-2024
  • (2023)Variable-based Fault Localization via Enhanced Decision TreeACM Transactions on Software Engineering and Methodology10.1145/362474133:2(1-32)Online publication date: 18-Sep-2023
  • (2023)Alligator in Vest: A Practical Failure-Diagnosis Framework via Arm Hardware FeaturesProceedings of the 32nd ACM SIGSOFT International Symposium on Software Testing and Analysis10.1145/3597926.3598106(917-928)Online publication date: 13-Jul-2023
  • (2023)Toward More Efficient Statistical Debugging with Abstraction RefinementACM Transactions on Software Engineering and Methodology10.1145/354479032:2(1-38)Online publication date: 30-Mar-2023
  • (2023)Combatting Energy Issues for Mobile ApplicationsACM Transactions on Software Engineering and Methodology10.1145/352785132:1(1-44)Online publication date: 13-Feb-2023
  • (2021)Automating instrumentation choices for performance problems in distributed applications with VAIFProceedings of the ACM Symposium on Cloud Computing10.1145/3472883.3487000(61-75)Online publication date: 1-Nov-2021
  • (2021)How detrimental is coincidental correctness to coverage‐based fault detection and localization? An empirical studySoftware Testing, Verification and Reliability10.1002/stvr.176231:5Online publication date: 9-Jan-2021
  • (2020)Differentially-private control-flow node coverage for software usage analysisProceedings of the 29th USENIX Conference on Security Symposium10.5555/3489212.3489270(1021-1038)Online publication date: 12-Aug-2020
  • (2020)Differentially-private software frequency profiling under linear constraintsProceedings of the ACM on Programming Languages10.1145/34282714:OOPSLA(1-24)Online publication date: 13-Nov-2020
  • (2019)An automated, cross-layer instrumentation framework for diagnosing performance problems in distributed applicationsProceedings of the ACM Symposium on Cloud Computing10.1145/3357223.3362704(165-170)Online publication date: 20-Nov-2019
  • Show More Cited By

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media