SoftMon: Programmable software monitoring with minimum overhead by helper-threading

Yung Pin Cheng, Han Shu Chen

Research output: Chapter in Book/Report/Conference proceedingConference contributionpeer-review

1 Scopus citations

Abstract

In practice, in-house testing is not guaranteed to detect all software errors. A plan for extensive testing is often constrained by resources like cost and time. So, the need for continuous monitoring software programs in production runs is always strong. Software monitoring, however, suffers from the performance overhead of the probing techniques. Unless the overhead for probing is tolerable, the code inserted for probing is typically cleaned from the released programs. In production runs, programmers can only rely on observable effects produced by the programs to examine problems. In this paper, a prototype tool called SoftMon is proposed to monitor a computer program with minimum overhead. SoftMon uses a helper thread to monitor programs on a separate CPU without inserting code in the middle of programs. The body of the helper thread is programmable in a language called MCML. By compiling the MCML script, a helper thread is instrumented into a program automatically and transparently.

Original languageEnglish
Title of host publicationProceedings of the 23rd Annual ACM Symposium on Applied Computing, SAC'08
Pages741-747
Number of pages7
DOIs
StatePublished - 2008
Event23rd Annual ACM Symposium on Applied Computing, SAC'08 - Fortaleza, Ceara, Brazil
Duration: 16 Mar 200820 Mar 2008

Publication series

NameProceedings of the ACM Symposium on Applied Computing

Conference

Conference23rd Annual ACM Symposium on Applied Computing, SAC'08
Country/TerritoryBrazil
CityFortaleza, Ceara
Period16/03/0820/03/08

Keywords

  • Dynamic program analysis
  • Helper threading
  • Monitoring
  • Multi-core CPU
  • SMP

Fingerprint

Dive into the research topics of 'SoftMon: Programmable software monitoring with minimum overhead by helper-threading'. Together they form a unique fingerprint.

Cite this