3,131 research outputs found
MintHint: Automated Synthesis of Repair Hints
Being able to automatically repair programs is an extremely challenging task.
In this paper, we present MintHint, a novel technique for program repair that
is a departure from most of today's approaches. Instead of trying to fully
automate program repair, which is often an unachievable goal, MintHint performs
statistical correlation analysis to identify expressions that are likely to
occur in the repaired code and generates, using pattern-matching based
synthesis, repair hints from these expressions. Intuitively, these hints
suggest how to rectify a faulty statement and help developers find a complete,
actual repair. MintHint can address a variety of common faults, including
incorrect, spurious, and missing expressions.
We present a user study that shows that developers' productivity can improve
manyfold with the use of repair hints generated by MintHint -- compared to
having only traditional fault localization information. We also apply MintHint
to several faults of a widely used Unix utility program to further assess the
effectiveness of the approach. Our results show that MintHint performs well
even in situations where (1) the repair space searched does not contain the
exact repair, and (2) the operational specification obtained from the test
cases for repair is incomplete or even imprecise
Efficient Cooperative Anycasting for AMI Mesh Networks
We have, in recent years, witnessed an increased interest towards enabling a
Smart Grid which will be a corner stone to build sustainable energy efficient
communities. An integral part of the future Smart Grid will be the
communications infrastructure which will make real time control of the grid
components possible. Automated Metering Infrastructure (AMI) is thought to be a
key enabler for monitoring and controlling the customer loads. %RPL is a
connectivity enabling mechanism for low power and lossy networks currently
being standardized by the IETF ROLL working group. RPL is deemed to be a
suitable candidate for AMI networks where the meters are connected to a
concentrator over multi hop low power and lossy links. This paper proposes an
efficient cooperative anycasting approach for wireless mesh networks with the
aim of achieving reduced traffic and increased utilisation of the network
resources. The proposed cooperative anycasting has been realised as an
enhancement on top of the Routing Protocol for Low Power and Lossy Networks
(RPL), a connectivity enabling mechanism in wireless AMI mesh networks. In this
protocol, smart meter nodes utilise an anycasting approach to facilitate
efficient transport of metering data to the concentrator node. Moreover, it
takes advantage of a distributed approach ensuring scalability
A Survey of Symbolic Execution Techniques
Many security and software testing applications require checking whether
certain properties of a program hold for any possible usage scenario. For
instance, a tool for identifying software vulnerabilities may need to rule out
the existence of any backdoor to bypass a program's authentication. One
approach would be to test the program using different, possibly random inputs.
As the backdoor may only be hit for very specific program workloads, automated
exploration of the space of possible inputs is of the essence. Symbolic
execution provides an elegant solution to the problem, by systematically
exploring many possible execution paths at the same time without necessarily
requiring concrete inputs. Rather than taking on fully specified input values,
the technique abstractly represents them as symbols, resorting to constraint
solvers to construct actual instances that would cause property violations.
Symbolic execution has been incubated in dozens of tools developed over the
last four decades, leading to major practical breakthroughs in a number of
prominent software reliability applications. The goal of this survey is to
provide an overview of the main ideas, challenges, and solutions developed in
the area, distilling them for a broad audience.
The present survey has been accepted for publication at ACM Computing
Surveys. If you are considering citing this survey, we would appreciate if you
could use the following BibTeX entry: http://goo.gl/Hf5FvcComment: This is the authors pre-print copy. If you are considering citing
this survey, we would appreciate if you could use the following BibTeX entry:
http://goo.gl/Hf5Fv
Static Analysis-based Debugging, Certification, Testing, and Optimization with CiaoPP
Facilitate the development of safe, efficient programs.
Approach:
•Next-generation, higher-level, multiparadigm prog. languages.
•Improved program development environments.
•A framework (CiaoPP) which integrates:
•Debugging.
•Verification and certification.
•Testing.
•Optimization (optimized compilation, parallelization, ...
- …