Parallel support for source code analysis and modification

Tools that analyze and enhance large-scale software systems using symbolic reasoning are computationally expensive, and yet processors are cheap. We believe that enabling tools with parallel foundations will lead to qualitatively more useful tools. We have implemented a large-scale industrial-strength program transformation system, the DMS Software Reengineering Toolkit, entirely in PARLANSE, a new parallel language. PARLANSE provides support for irregular fine-grain parallelism with zero-cost exception handling. This paper sketches the motivation for PARLANSE, its parallelism support and how it is used in a number of DMS-based applications, including parallel rewriting and attribute evaluation.

[1]  Christopher W. Pidgeon,et al.  TMM: Software Maintenance by Transformation , 1986, IEEE Software.

[2]  Ira D. Baxter,et al.  Transformational maintenance by reuse of design histories , 1991 .

[3]  Ira D. Baxter,et al.  Preprocessor conditional removal by simple partial evaluation , 2001, Proceedings Eighth Working Conference on Reverse Engineering.

[4]  Paolo Tonella,et al.  Web application transformations based on rewrite rules , 2002, Inf. Softw. Technol..

[5]  David A. Wheeler More Than a Gigabuck: Estimating GNU/Linux''s Size , 2002, WWW 2002.

[6]  Ira D. Baxter,et al.  Breaking the Software Development Roadblock: Continuous Software Enhancement By Design Maintenance , 2002 .

[7]  Arvind,et al.  T: A Multithreaded Massively Parallel Architecture , 1992, [1992] Proceedings the 19th Annual International Symposium on Computer Architecture.

[8]  Christopher W. Pidgeon,et al.  Software change through design maintenance , 1997, 1997 Proceedings International Conference on Software Maintenance.

[9]  James M. Neighbors,et al.  The Draco Approach to Constructing Software from Reusable Components , 1984, IEEE Transactions on Software Engineering.

[10]  Ira D. Baxter,et al.  Design maintenance systems , 1991, CACM.

[11]  Masaru Tomita,et al.  Efficient parsing for natural language , 1985 .

[12]  Chris Verhoef,et al.  Current parsing techniques in software renovation considered harmful , 1998, Proceedings. 6th International Workshop on Program Comprehension. IWPC'98 (Cat. No.98TB100242).

[13]  Ira D. Baxter,et al.  Reverse engineering is reverse forward engineering , 2000, Sci. Comput. Program..

[14]  Ira D. Baxter,et al.  Branch Coverage For Arbitrary Languages Made Easy: Transformation Systems To The Rescue! , 2001 .