Daqing Hou

I am an assistant professor in the ECE department at Clarkson University, Potsdam, NY 13699. My teaching and research interests are in software engineering. I prefer driving and evaluating my research by pragmatical applications. From Oct. 2004 to Sep. 2006, my work is supported by an Industrial Associateship from the Alberta Ingenuity Fund. Avra Software Lab., a spin-off of the University of Alberta, generously hosted me. Avra constructs software frameworks for the engineering design domain, and serves as a test bed for academic innovations.

I am always looking for outstanding students to work with.

Software Engineering Research Laboratory

Software Design for Visual Environments



Research

I am fascinated by the intellectual challenge of conquering software complexity. So I have a broad interest in all aspects of software engineering.

My main project now is the SCL (Structural Constraint Language) Project. SCL expresses developer intent directly in terms of constraints on a model of source code extracted by static analysis and other means, using the SCL specification language. We have tested SCL for expressiveness, scalability, and accuracy on over a million lines of code, from both open-source and proprietary software (courtesy of net-linx Americas).

The focus now is on further evaluating and refining SCL through real-world applications, for better expressiveness, precision, and usability.

Current interests include software design and documentation with an emphasis on software frameworks, program analysis, semantics of programming languages, software tools and development environments. SCL ties all these interests together.  There are several prerequisites for the success of SCL. First, in order to understand and express constraints, we need to grapple with the notion of software structure, which inspires our interests in design and documentation. Second, program analysis and semantics of programming languages are means to achieve SCL. Finally, SCL can be delivered as a software tool for each programming language. SCL for Java, for example, is available as a plug-in for the Eclipse IDE.

Understanding Framework-Based Software Development

Dependencies and Constraints in Diverse Software

Teaching

Program Analysis for Software Engineering, Fall 2006

Enterprise Software Development, Spring 2007

Software Design for Visual Environment, Fall 2007

ECE Seminar, Fall 2007 and Spring 2008

Program Analysis for Software Engineering, Spring 2008


Resources for Graduate Students

I would like to teach software engineering for several reasons. I believe that talented minds are the single most important factor that contributes to software success, and education is the key to producing such talents. I believe that advances in software engineering require continuous reflection from software researchers; in this regard, class rooms can be a better-controlled place than most industrial environments. Finally, helping students succeed provides me with both a source of satisfaction and a sense of achievement.

Over the years, I have been constantly working towards improving my teaching skills: