Title :
Detecting metadata bugs on the fly
Author :
Song, Myoungkyu ; Tilevich, Eli
Author_Institution :
Dept. of Comput. Sci., Virginia Tech, Blacksburg, VA, USA
Abstract :
Programmers are spending a large and increasing amount of their time writing and modifying metadata, such as Java annotations and XML deployment descriptors. And yet, automatic bug finding tools cannot find metadata-related bugs introduced during program refactoring and enhancement. To address this shortcoming, we have created metadata invariants, a new programming abstraction that expresses naming and typing relationships between metadata and the main source code of a program. A paper that appears in the main technical program of ICSE 2012 describes the idea, concept, and prototype of metadata invariants [4]. The goal of this demo is to supplement that paper with a demonstration of our Eclipse plugin, Metadata Bug Finder (MBF). MBF takes as input a script written in our domain-specific language that describes a set of metadata coding conventions the programmer wishes to enforce. Then after each file save operation, MBF checks the edited codebase for the presence of any violations of the given metadata programming conventions. These violations are immediately reported to the programmer as potential metadata-related bugs. By making the programmer aware of these potential bugs, MBF prevents them from seeping into production, thereby improving the overall correctness of the edited codebase.
Keywords :
meta data; program debugging; Eclipse plugin; ICSE 2012; Java annotations; MBF; XML deployment descriptors; domain-specific language; main source code; main technical program; metadata bug finder; metadata bugs detection; metadata coding conventions; metadata invariants; metadata programming conventions; program enhancement; program refactoring; programming abstraction; Computer bugs; Encoding; Java; Programming; Software; Testing; XML; bug finding; domain-specific languages; enhancement; frameworks; invariants; metadata; refactoring; software maintenance;
Conference_Titel :
Software Engineering (ICSE), 2012 34th International Conference on
Conference_Location :
Zurich
Print_ISBN :
978-1-4673-1066-6
Electronic_ISBN :
0270-5257
DOI :
10.1109/ICSE.2012.6227067