Export Citations
Save this search
Please login to be able to save your searches and receive alerts for new content matching your search criteria.
- research-articleAugust 2016
Supporting oracle construction via static analysis
ASE '16: Proceedings of the 31st IEEE/ACM International Conference on Automated Software EngineeringPages 178–189https://doi.org/10.1145/2970276.2970366In software testing, the program under test is usually executed with test inputs and checked against a test oracle, which is a mechanism to verify whether the program behaves as expected. Selecting the right oracle data to observe is crucial in test ...
- short-paperAugust 2016
Symbolic execution of complex program driven by machine learning based constraint solving
ASE '16: Proceedings of the 31st IEEE/ACM International Conference on Automated Software EngineeringPages 554–559https://doi.org/10.1145/2970276.2970364Symbolic execution is a widely-used program analysis technique. It collects and solves path conditions to guide the program traversing. However, due to the limitation of the current constraint solvers, it is difficult to apply symbolic execution on ...
- research-articleAugust 2016
Evaluating non-adequate test-case reduction
ASE '16: Proceedings of the 31st IEEE/ACM International Conference on Automated Software EngineeringPages 16–26https://doi.org/10.1145/2970276.2970361Given two test cases, one larger and one smaller, the smaller test case is preferred for many purposes. A smaller test case usually runs faster, is easier to understand, and is more convenient for debugging. However, smaller test cases also tend to ...
- research-articleAugust 2016
Locus: locating bugs from software changes
ASE '16: Proceedings of the 31st IEEE/ACM International Conference on Automated Software EngineeringPages 262–273https://doi.org/10.1145/2970276.2970359Various information retrieval (IR) based techniques have been proposed recently to locate bugs automatically at the file level. However, their usefulness is often compromised by the coarse granularity of files and the lack of contextual information. To ...
- research-articleAugust 2016
Usage, costs, and benefits of continuous integration in open-source projects
ASE '16: Proceedings of the 31st IEEE/ACM International Conference on Automated Software EngineeringPages 426–437https://doi.org/10.1145/2970276.2970358Continuous integration (CI) systems automate the compilation, building, and testing of software. Despite CI rising as a big success story in automated software engineering, it has received almost no attention from the research community. For example, ...
-
- research-articleAugust 2016
How good are the specs? a study of the bug-finding effectiveness of existing Java API specifications
ASE '16: Proceedings of the 31st IEEE/ACM International Conference on Automated Software EngineeringPages 602–613https://doi.org/10.1145/2970276.2970356Runtime verification can be used to find bugs early, during software development, by monitoring test executions against formal specifications (specs). The quality of runtime verification depends on the quality of the specs. While previous research has ...
- research-articleAugust 2016
LockPeeker: detecting latent locks in Java APIs
ASE '16: Proceedings of the 31st IEEE/ACM International Conference on Automated Software EngineeringPages 368–378https://doi.org/10.1145/2970276.2970355Detecting lock-related defects has long been a hot research topic in software engineering. Many efforts have been spent on detecting such deadlocks in concurrent software systems. However, latent locks may be hidden in application programming interface ...
- research-articleAugust 2016
Optimizing customized program coverage
ASE '16: Proceedings of the 31st IEEE/ACM International Conference on Automated Software EngineeringPages 27–38https://doi.org/10.1145/2970276.2970351Program coverage is used across many stages of software development. While common during testing, program coverage has also found use outside the test lab, in production software. However, production software has stricter requirements on run-time ...
- research-articleAugust 2016
What developers want and need from program analysis: an empirical study
ASE '16: Proceedings of the 31st IEEE/ACM International Conference on Automated Software EngineeringPages 332–343https://doi.org/10.1145/2970276.2970347Program Analysis has been a rich and fruitful field of research for many decades, and countless high quality program analysis tools have been produced by academia. Though there are some well-known examples of tools that have found their way into ...
- short-paperAugust 2016
What makes killing a mutant hard
ASE '16: Proceedings of the 31st IEEE/ACM International Conference on Automated Software EngineeringPages 39–44https://doi.org/10.1145/2970276.2970345Mutation operators have been studied at length to determine which ones are the ``best" at some metric (for example creates the least equivalent mutants, creates hard-to-kill mutants, etc.). These studies though have focused on specific test suites, ...
- research-articleAugust 2016
SOFIA: an automated security oracle for black-box testing of SQL-injection vulnerabilities
ASE '16: Proceedings of the 31st IEEE/ACM International Conference on Automated Software EngineeringPages 167–177https://doi.org/10.1145/2970276.2970343Security testing is a pivotal activity in engineering secure software. It consists of two phases: generating attack inputs to test the system, and assessing whether test executions expose any vulnerabilities. The latter phase is known as the security ...
- research-articleAugust 2016
Towards automatically generating descriptive names for unit tests
ASE '16: Proceedings of the 31st IEEE/ACM International Conference on Automated Software EngineeringPages 625–636https://doi.org/10.1145/2970276.2970342During maintenance, developers often need to understand the purpose of a test. One of the most potentially useful sources of information for understanding a test is its name. Ideally, test names are descriptive in that they accurately summarize both ...
- research-articleAugust 2016
Bugram: bug detection with n-gram language models
ASE '16: Proceedings of the 31st IEEE/ACM International Conference on Automated Software EngineeringPages 708–719https://doi.org/10.1145/2970276.2970341To improve software reliability, many rule-based techniques have been proposed to infer programming rules and detect violations of these rules as bugs. These rule-based approaches often rely on the highly frequent appearances of certain patterns in a ...
- research-articleAugust 2016
Greedy combinatorial test case generation using unsatisfiable cores
ASE '16: Proceedings of the 31st IEEE/ACM International Conference on Automated Software EngineeringPages 614–624https://doi.org/10.1145/2970276.2970335Combinatorial testing aims at covering the interactions of parameters in a system under test, while some combinations may be forbidden by given constraints (forbidden tuples). In this paper, we illustrate that such forbidden tuples correspond to ...
- short-paperAugust 2016
Automatic test image generation using procedural noise
ASE '16: Proceedings of the 31st IEEE/ACM International Conference on Automated Software EngineeringPages 654–659https://doi.org/10.1145/2970276.2970333It is difficult to test programs that input images, due to the large number of (pixel) values that must be chosen and the complex ways these values interact. Typically, such programs are tested manually, using images that have known results. However, ...
- research-articleAugust 2016
Conc-iSE: incremental symbolic execution of concurrent software
ASE '16: Proceedings of the 31st IEEE/ACM International Conference on Automated Software EngineeringPages 531–542https://doi.org/10.1145/2970276.2970332Software updates often introduce new bugs to existing code bases. Prior regression testing tools focus mainly on test case selection and prioritization whereas symbolic execution tools only handle code changes in sequential software. In this paper, we ...
- short-paperAugust 2016
Test case permutation to improve execution time
ASE '16: Proceedings of the 31st IEEE/ACM International Conference on Automated Software EngineeringPages 45–50https://doi.org/10.1145/2970276.2970331With the growing complexity of software, the number of test cases needed for effective validation is extremely large. Executing these large test suites is expensive, both in terms of time and energy. Cache misses are known to be one of the main factors ...
- research-articleAugust 2016
Applying combinatorial test data generation to big data applications
ASE '16: Proceedings of the 31st IEEE/ACM International Conference on Automated Software EngineeringPages 637–647https://doi.org/10.1145/2970276.2970325Big data applications (e.g., Extract, Transform, and Load (ETL) applications) are designed to handle great volumes of data. However, processing such great volumes of data is time-consuming. There is a need to construct small yet effective test data ...
- short-paperAugust 2016
Generating test cases to expose concurrency bugs in Android applications
ASE '16: Proceedings of the 31st IEEE/ACM International Conference on Automated Software EngineeringPages 648–653https://doi.org/10.1145/2970276.2970320Mobile systems usually support an event-based model of concurrent programming. This model, although advantageous to maintain responsive user interfaces, may lead to subtle concurrency errors due to unforeseen threads interleaving coupled with non-...
- research-articleAugust 2016
Symbolic execution of stored procedures in database management systems
ASE '16: Proceedings of the 31st IEEE/ACM International Conference on Automated Software EngineeringPages 519–530https://doi.org/10.1145/2970276.2970318Stored procedures in database management systems are often used to implement complex business logic. Correctness of these procedures is critical for correct working of the system. However, testing them remains difficult due to many possible states of ...