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 PDFsEE261 Fall'09: Introduction to Programming and Software DesignEE408 Fall'09: Software Design for Visual Environments
|
| I am fascinated
by the intellectual challenge of understanding and controlling the
psychological complexity of software engineering, and 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. |