Execution of concurrent programs implies frequent switching between different thread contexts. This property perplexes analyzing and reasoning about concurrent programs. Trace simplification is a technique that aims at alleviating this problem via transforming a concurrent program trace (execution) into a semantically equivalent one. The resulted trace typically includes less number of context switches than that in the original trace.This paper presents a new static approach for trace simplification. This approach is based on a connectivity analysis that calculates for each trace-point connectivity and contextswitching information. The paper also presents a novel operational semantics for concurrent programs. The semantics is used to prove the correctness and efficiency of the proposed techniques for connectivity analysis and trace simplification. The results of experiments testing the proposed technique on problems treated by previous work for trace simplification are also shown in the paper. The results prove the efficiency and effectiveness of the proposed method.
scite is a Brooklyn-based organization that helps researchers better discover and understand research articles through Smart Citations–citations that display the context of the citation and describe whether the article provides supporting or contrasting evidence. scite is used by students and researchers from around the world and is funded in part by the National Science Foundation and the National Institute on Drug Abuse of the National Institutes of Health.