Transactions on Software Engineering

TSE Seeks Editor-in-Chief for 2018-2020 Term

The IEEE Computer Society seeks applicants for the position of editor-in-chief of the IEEE Transactions on Software Engineering, serving a three-year term starting 1 January 2018. Prospective candidates are asked to provide a complete curriculum vitae, a brief plan for the publication's future, and a letter of support from their institution or employer (as PDF files) by 1 March 2017. For more information on the search process and to submit application materials, click here or please contact: Kimberly Sperka,

The IEEE Transactions on Software Engineering (TSE) is an archival journal published bimonthly. We are interested in well-defined theoretical results and empirical studies that have potential impact on the construction, analysis, or management of software. Read the full scope of TSE

Expand your horizons with Colloquium, a monthly survey of abstracts from all CS transactions! Replaces OnlinePlus in January 2017.

From the March 2017 Issue

Dependence Guided Symbolic Execution

By Haijun Wang, Ting Liu, Xiaohong Guan, Chao Shen, Qinghua Zheng, and Zijiang Yang

Featured article thumbnail imageSymbolic execution is a powerful technique for systematically exploring the paths of a program and generating the corresponding test inputs. However, its practical usage is often limited by the path explosion problem, that is, the number of explored paths usually grows exponentially with the increase of program size. In this paper, we argue that for the purpose of fault detection it is not necessary to systematically explore the paths, and propose a new symbolic execution approach to mitigate the path explosion problem by predicting and eliminating the redundant paths based on symbolic value. Our approach can achieve the equivalent fault detection capability as traditional symbolic execution without exhaustive path exploration. In addition, we develop a practical implementation called Dependence Guided Symbolic Execution (DGSE) to soundly approximate our approach. Through exploiting program dependence, DGSE can predict and eliminate the redundant paths at a reasonable computational cost. Our empirical study shows that the redundant paths are abundant and widespread in a program. Compared with traditional symbolic execution, DGSE only explores 6.96 to 96.57 percent of the paths and achieves a speedup of 1.02 $\times$ to 49.56$\times$. We have released our tool and the benchmarks used to evaluate DGSE$^\ast$.

download PDF View the PDF of this article      csdl View this issue in the digital library      TSE Facebook Link  TSE on Facebook

Editorials and Announcements



Guest Editorials

Reviewers List

Annual Index

Access All Recently Published TSE Articles

RSS Subscribe to the RSS feed of latest TSE content added to the digital library

Mail Sign up for the Transactions Connection Newsletter.

Access TSE PrePrints in the Computer Society digital library

A PrePrint is an article that has been accepted for publication in a future issue of this journal, but has not been fully edited. Content may change prior to final publication