Refine
Document Type
- Bachelor Thesis (1)
- Conference Proceeding (1)
- Report (1)
Language
- English (3)
Has Fulltext
- yes (3)
Is part of the Bibliography
- no (3)
Keywords
- Programming (3) (remove)
Institute
To accommodate the growth of the software industry, programming languages are getting increasingly easy to use. The latest trend in the simplification of the software development process is the usage of visual programming environments. To make visual programming effective, the graph-like representation of the source code must be clearly arranged. This thesis details some of the difficulties in automatic layout generation and proposes an interface as well as two different implementations of automatic layout generators to integrate into the VWorkflows visual programming framework.
Exhaustive, automatic testing of dataflow (esp. mapreduce) programs has emerged as an important challenge. Past work demonstrated effective ways to generate small example data sets that exercise operators in the Pig platform, used to generate Hadoop map-reduce programs. Although such prior techniques attempt to cover all cases of operator use, in practice they often fail. Our SEDGE system addresses these completeness problems: for every dataflow operator, we produce data aiming to cover all cases that arise in the dataflow program (e.g., both passing and failing a filter). SEDGE relies on transforming the program into symbolic constraints, and solving the constraints using a symbolic reasoning engine (a powerful SMT solver), while using input data as concrete aids in the solution process. The approach resembles dynamic-symbolic (a.k.a. "concolic") execution in a conventional programming language, adapted to the unique features of the dataflow domain.
In third-party benchmarks, SEDGE achieves higher coverage than past techniques for 5 out of 20 PigMix benchmarks and 7 out of 11 SDSS benchmarks and (with equal coverage for the rest of the benchmarks). We also show that our targeting of the high-level dataflow language pays off: for complex programs, state-of-the-art dynamic-symbolic execution at the level of the generated map-reduce code (instead of the original dataflow program) requires many more test cases or achieves much lower coverage than our approach.
The prefix cyber, prepended onto terms like war, peace, security, and so on, results in interesting word combinations which we construct with our spoken language. Many scholars, from political to social science, have discussed the terms and the semantics of it in order to understand the problem and to create some scientific value out of it. But this article will not be another endless discussion on whether cyberfoo exists somewhere in any computer network at the moment or not...