automated debugging
Recently Published Documents





2022 ◽  
Vol 31 (2) ◽  
pp. 1-43
Katherine Hough ◽  
Jonathan Bell

Dynamic taint tracking, a technique that traces relationships between values as a program executes, has been used to support a variety of software engineering tasks. Some taint tracking systems only consider data flows and ignore control flows. As a result, relationships between some values are not reflected by the analysis. Many applications of taint tracking either benefit from or rely on these relationships being traced, but past works have found that tracking control flows resulted in over-tainting, dramatically reducing the precision of the taint tracking system. In this article, we introduce Conflux , alternative semantics for propagating taint tags along control flows. Conflux aims to reduce over-tainting by decreasing the scope of control flows and providing a heuristic for reducing loop-related over-tainting. We created a Java implementation of Conflux and performed a case study exploring the effect of Conflux on a concrete application of taint tracking, automated debugging. In addition to this case study, we evaluated Conflux ’s accuracy using a novel benchmark consisting of popular, real-world programs. We compared Conflux against existing taint propagation policies, including a state-of-the-art approach for reducing control-flow-related over-tainting, finding that Conflux had the highest F1 score on 43 out of the 48 total tests.

2019 ◽  
Vol 134 ◽  
pp. 02003
Andrey Vlasenko ◽  
Igor Sotnikov ◽  
Eugeniya Prokopenko ◽  
Anton Demidov

The article is devoted to the development of automated debugging software for parallel programs used in the analysis of the impact of mining on the ecology of the region using the MPI communication interface. The system combines the approaches of static analysis of the source code and automated control of correctness at runtime. Each approach implements a separate component of the system. An innovative idea embedded in the system is to determine the necessary checks in the patterns of erroneous behavior that the user can control by modifying the templates from the proposed set, adding their own or deleting ones that are not required. A system for describing patterns is described and several examples of formalizing errors are given. Some of the examples of errors are suitable for static analysis, while others are suitable for automated verification. The architecture and the general scheme of the automated debugging system on a computing cluster are presented. Another software project described in the article is an engineering computing portal. The portal is an expandable environment for a comprehensive study of the environmental problems of the region, integrating various services united by high-performance computing.

Shaopeng Xu ◽  
Chenyu Zhou ◽  
Zhiwei Gu ◽  
Guoquan Wu ◽  
Wei Chen ◽  

Sign in / Sign up

Export Citation Format

Share Document