System analysis papers, 18/04/11

Robotics Papers

"System interdependence analysis for autonomous robots", Lidoris, Rohrmüller, Wollherr, Buss, IJRR, 2011

most interesting aspect is the learning of dependency BNs (work of Rohrmüller), and the concrete indicators used. the rest is a competently executed but -- due to very coarse component granularity -- not very insightful case study. ACE is cool, though ;-)
  • "identify the system components that are crucial for each task"
  • "learn and quantitatively evaluate the coherence between performance indicators of different system components, as well as the influence of environmental parameters on the system"
  • "performance is understood as system stability against external and internal influences" (p. 603)
  • "As the robot operates, system outputs are monitored and performance indicators for the system components are calculated."
  • "in order to find out whether and to what extent performance indicators of system components interact with each other, a BN is learned from system outputs and suitable performance indicator values" (p604)
  • "information-theoretic criteria are used to evaluate the coherence between the indicators within the learned network." (p. 605)
  • interesting selection of indicators (cf. table 1, p.608), such as "map uncertainty", "map information" (Held et al 2006) (perception), "path length", "number of waypoints relative to Euclidan distance to the goal", "variance of angular deviation between next waypoint and robot's orientation" (path planning) and "execution time", "path smoothness (speed and variance of robot's orientation" (execution)
  • case study on mobile robot ACE (Munich navigation task)
  • contribution: defines a few measures that correspond well with intuition on which components are crucial for success
  • fairly coarse decomposition: whole system has 10 components (cf. fig 10 & 11)
  • probably because of coarse decomposition, conclusions are not surprising. still, nice quantification.

Software Engineering Papers

"A Theoretical and Empirical Analysis of the Role of Test Sequence Length in Software Testing for Structural Coverage", Arcuri, IEEE TSE, 2011

Based on preprint
  • "In the presence of an internal state, often a sequence of function calls is required to test software. [...] We show that, on “difficult” software testing benchmarks, longer test sequences make their testing trivial." (abstract)
  • "First, we need to decide how long to apply random testing. Second, when we target specific branches, we need to decide as well how much effort we want to spend in trying to cover them." (p.2)
  • "In our analysis, we consider search based techniques [16] for testing software. In particular, we compare four different search algorithms: Random Search (RS), Hill Climbing (HC), (1+1) Evolutionary Algorithm (EA) and a Genetic Algorithm (GA)"
  • results from "container classes", "a complex integration testing problem from a real-world industrial software" and "formal theoretical analysis."
  • "The results of these experiments show that using longer test sequences during the search is an effective technique. For this case study, such a simple testing technique gave near-optimal results with very little computational time." (p.11)
one caveat: when one uses very long sequences for testing, it may become more difficult to identify the cause of a bug. the authors do not directly mention this, but they look a bit at minimizing the length.

"Oracles for Distributed Testing", Hierons, IEEE TSE, 2011

  • "The problem of deciding whether an observed behaviour is acceptable is the oracle problem. [...] in distributed testing we observe a local trace at each port and we compare the set of local traces with the set of allowed behaviours (global traces) [...] investigates the oracle problem for deterministic and non-deterministic FSMs" (abstract)
  • in distributed systems, monitoring is local and the observed sequence of messages is based in the received time, not the sent time. this makes reconstructing global behavior interesting.
  • paper looks at systems that are described using FSMs
  • black-box testing
  • .... 20 pages with significant formula content follows -- didn't examine it closely ...
  • "We showed that the oracle problem can be solved in low order polynomial time for _w [one local trace only] but is NP-hard for _8 [all local traces]."
  • "We proved that if we are testing from a deterministic FSM with input sequences that satisfy the traditional notion of controllability then the oracle problem can be solved in low order polynomial time"