J.C. Huang's Research

Research areas:

Software Engineering

Program Analysis

Program Speedup

Software Testing

Quality Assurance

Validation and Verification

Methods and Tools

Programming Methodology

Software Architecture

Software Metrics

Reactive Software Systems

 

"Everyone should firmly persuade himself that none of the sciences, however abstruse, is to be deduced from lofty and obscure matters, but that they all proceed only from what is easy and more readily understood."
-Descartes

Problems being investigated:

  • How to speedup program execution through generalized loop unrolling?
  • What can be done, in terms of analysis methods and tools, to facilitate program understanding?
  • How to recompose a loop construct from its symbolic traces, and what it takes to complete the recomposition?
  • How to measure the effectiveness of a test case in term of its error-detection capability?
  • How to determine the similarity between two computer programs?
  • Application of the program analysis method to other problem areas.

Archives: (sorted in the order of relevance to current work.)

"State Constraints and Pathwise Decomposition of Programs," IEEE Trans. on Software Engineering, vol. 16, no. 8, Aug. 1990, pp. 880-896.

"Generalized Loop Unrolling: a Method for Program Speed-Up," (coauthor with T. Leng) Proc. IEEE Symposium on Application-Specific System and Software Engineering Technology (ASSET99), Mar. 1999, pp. 244-248

"Program Speedup Through Generalized Loop Unrolling: Practical Aspects," submitted for publication.

A Transformational Approach to Dynamic Program Analysis, to be published as a research monograph.

"A New Verification Rule and Its Applications," IEEE Trans. on Software Engineering, vol. SE-6, no. 5, Sept. 1980, pp. 480-484.

"Detection of Data Flow Anomaly Through Program Instrumentation," IEEE Trans. on Software Engineering, vol. SE-5, no. 3, May 1979, pp. 226-236.

"An Introduction to Program Testing," ACM Computing Surveys, vol. 7, no. 3, Sept. 1975, pp. 113-128.