Daqing HouI 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 to drive and evaluate 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. (Graduate students already at Clarkson must take my courses in order to have me as advisor.) Software Engineering Research LaboratoryPublications: DBLP Downloadable papers in PDFsEE564 Spring'09: Enterprise Software Development |
| I am fascinated
by the intellectual challenge of understanding and controlling the psychological complexity of software engineering.
So I tend to have a broad interest in all aspects of software engineering.
Current effort is focused on copy-and-paste programming (CnP), API usability and evolution, and their IDE support.
|
| One active project 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. |
| Other 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. |