Quantum computers are becoming a reality. The advantage of quantum computing is that it has the potential to solve computationally several complex problems in a fixed amount time, independent of the size of the problem. However, the kinds of problems for which these computers are a good fit, and the ways to express those problems, are substantially different from the kinds of problems and expressions used in classical computing. Quantum annealers, in particular, are currently the most promising and available quantum computing devices in the short term. However, they are also the most foreign compared to classical programs, as they require a different kind of computational thinking.
In order to ease the transition into this new world of quantum computing, we present a novel quantum approach to a well-known software problem: code clone detection. We express code clone detection as a subgraph isomorphism problem that is mapped into a quadratic optimization problem, and solve it using a DWave quantum annealing computer. We developed a quantum annealing algorithm that compares Abstract Syntax Trees (AST) and reports an energy value that indicates how similar they are.
The motivation behind this research goes well beyond code duplicate detection: our approach paves the way into how to express software engineering problems as optimization problems that can be solved by quantum annealers.
Thu 26 OctDisplayed time zone: Lisbon change
11:00 - 12:30 | |||
11:00 30mTalk | Cloning And Beyond: A Quantum Solution to Duplicate Code Onward! Papers | ||
11:30 30mTalk | Towards an Industrial Stateful Software Rejuvenation Toolchain Using Model LearningRemote Onward! Papers | ||
12:00 30mTalk | Concept-Centric Software Development: An Experience Report Onward! Papers Peter Wilczynski Palantir Technologies, Taylor Gregoire-Wright Independent consultant, Daniel Jackson MIT |