scispace - formally typeset
Journal ArticleDOI

A Complexity Measure

Reads0
Chats0
TLDR
Several properties of the graph-theoretic complexity are proved which show, for example, that complexity is independent of physical size and complexity depends only on the decision structure of a program.
Abstract
This paper describes a graph-theoretic complexity measure and illustrates how it can be used to manage and control program complexity. The paper first explains how the graph-theory concepts apply and gives an intuitive explanation of the graph concepts in programming terms. The control graphs of several actual Fortran programs are then presented to illustrate the correlation between intuitive complexity and the graph-theoretic complexity. Several properties of the graph-theoretic complexity are then proved which show, for example, that complexity is independent of physical size (adding or subtracting functional statements leaves complexity unchanged) and complexity depends only on the decision structure of a program.

read more

Citations
More filters
Proceedings ArticleDOI

The effect of poor source code lexicon and readability on developers' cognitive load

TL;DR: The effect of poor source code lexicon and readability on developers' cognitive load as measured by a cutting-edge and minimally invasive functional brain imaging technique called functional Near Infrared Spectroscopy (fNIRS).
Book ChapterDOI

Applying Bayesian Belief Networks to System Dependability Assessment

TL;DR: Bayesian Belief Networks (BBN’s) is proposed as the most promising technology to support this kind of dependability argumentation.
Proceedings Article

Erays: Reverse Engineering Ethereum's Opaque Smart Contracts

TL;DR: This work presents Erays, a reverse engineering tool for smart contracts that takes in smart contract from the Ethereum blockchain, and produces high-level pseudocode suitable for manual analysis, and leverages it to link contracts with no previously available source code to public source code, thus reducing the overall opacity in the ecosystem.
Book ChapterDOI

Code obfuscation against static and dynamic reverse engineering

TL;DR: This paper introduces a novel code obfuscation scheme that applies the concept of software diversification to the control flow graph of the software to enhance its complexity and improves resistance against both static disassembling tools and dynamic reverse engineering at a reasonable performance penalty.
Book ChapterDOI

IFuzzer: An Evolutionary Interpreter Fuzzer Using Genetic Programming

TL;DR: An automated evolutionary fuzzing technique to find bugs in JavaScript interpreters using evolutionary computing techniques to guide the fuzzer in generating uncommon input code fragments that may trigger exceptional behavior in the interpreter.
References
More filters
Journal ArticleDOI

Structured Programming with go to Statements

TL;DR: For serious students of structured programming, and also for language designers, Knuth's "Structured Programming with go to Statements" is probably the paper to read.
Journal ArticleDOI

Analysis of structured programs

TL;DR: It is shown that an arbitrary program P is reducible to a D-chart if and only if P does not contain a loop with two distinct exits.
Journal ArticleDOI

A genealogy of control structures

TL;DR: It is argued further that there is insufficient evidence to warrant more than if-then-else, while-do, and their variants and the importance of one-in, one-out control structures as operational abstractions.