• Publications
  • Influence
Structure, behavior, and function of complex systems: The structure, behavior, and function modeling language
TLDR
In this paper, we view SBF as a programming language. Expand
  • 236
  • 12
Reducing Ambiguities in Requirements Specifications Via Automatically Created Object-Oriented Models
TLDR
This paper presents a three-step, semi-automatic method, supported by a prototype tool, for identifying inconsistencies and ambiguities in NL SRSs. Expand
  • 81
  • 6
  • PDF
Using visualization for architectural localization and extraction
TLDR
The paper describes an analysis technique for gaining such understanding and a visualization tool, called ISVis, that supports it. Expand
  • 102
  • 6
Understanding Complex Natural Systems by Articulating Structure-Behavior-Function Models
TLDR
We describe an interactive learning environment called ACT (for Aquarium Construction Toolkit) in which middle-school students construct SBF models of complex systems as a vehicle for gaining a deeper understanding of how such systems work. Expand
  • 95
  • 4
  • PDF
CodePad: interactive spaces for maintaining concentration in programming environments
TLDR
We introduce the novel concept of a CodePad, a peripheral, multi-touch enabled display that allows developers to engage with and manipulate multiple programming artifacts. Expand
  • 27
  • 4
  • PDF
Model-driven reverse engineering
TLDR
Reverse engineering is the process of comprehending software and producing a model of it at a high abstraction level, suitable for documentation, maintenance, or reengineering. Expand
  • 71
  • 3
  • PDF
Resumption strategies for interrupted programming tasks
TLDR
We perform exploratory analysis on 10,000 recorded programming sessions of 85 programmers to understand the variety of strategies used by programmers for resuming programming tasks. Expand
  • 40
  • 3
User interface reengineering
TLDR
The relentless development of new and desirable computing technology has created an overwhelming need to rapidly migrate legacy business application software to new environments. Expand
  • 26
  • 3
Resumption strategies for interrupted programming tasks
TLDR
We describe an exploratory analysis performed on 10,000 recorded sessions of 86 programmers and a survey of 414 programmers to understand the various strategies and coping mechanisms developers use to manage interrupted programming tasks. Expand
  • 54
  • 2
  • PDF
The interleaving problem in program understanding
TLDR
We have looked at a variety of interleaving instances in actual programs and have distilled characteristic features. Expand
  • 73
  • 2