Exploring the impact of context sensitivity on blended analysis
Proceedings of the 26th IEEE International Conference on Software Maintenance (ICSM 2010).
This paper explores the use of context sensitivity both intra- and interprocedurally in a blended (static/dynamic) program analysis for identifying source of object churn in framework- intensive Web-based applications. Empirical experiments with an existing blended analysis algorithm compare combinations of (i) use of a context-insensitive call graph with a context-sensitive calling context tree, and (ii) use (or not) of context-sensitive code pruning within methods. These experiments demonstrate achievable gains in scalability and performance in terms of several metrics designed for blended escape analysis, and report results in terms of object instances created, to allow more realistic conclusions from the data than were possible previously.
Application of formal grammars to the study of complex patterns and evolving systems
Proceedings of the National Conference on Undergraduate Research, 2009.
Nature expresses itself in a variety of patterns and complex structures. Understanding the rules and principles governing the creation of these patterns might allow us to create new structures and systems based on nature's successes. Formal grammars in the form of Lindenmayer systems have accurately modeled the growth of various plant morphologies and other fractal systems. Our research explored the application of formal grammars to creating similar complex systems: urban building layouts, road networks and various artistic patterns showing a high degree of self-similarity. Rules for developing the system are specified as a parameterized formal grammar followed by the application of a probability model to create a variety of instances of systems that would all be consistent with the rules, but different in detail from each other.
In order to explore the general applications of formal grammars to multiple classes of problems, a computer system called Metaphor has been created. Metaphor allows for the definition of formal grammars as a set of parameterized rules in a simple metalanguage. These rules may then be supplied with various starting conditions using different combinations of parameters. The modular nature of Metaphor allows for the output from the grammar systems to be mapped to a variety of displays ranging from simple 2D line maps to 3D graphics. The ultimate goal is to provide a tool for researchers in non-computer science related fields to explore the patterns and combinations that continually recur in their fields of interest.