Difficulties understanding update paths while understanding code cause developers to waste time and insert bugs. A detailed investigation of these difficulties suggests that a wid...
This paper describes a program of research designed to understand how knowledge-sharing and learning can be supported in virtual communities. To conduct this research, we propose ...
Michael Bieber, Il Im, Ronald E. Rice, Ricki Goldm...
Understanding argumentation and its role in human reasoning has been a continuous subject of investigation for scholars from the ancient Greek philosophers to current researchers ...
Jamal Bentahar, Bernard Moulin, Micheline Bé...
Programming with dependent types is a blessing and a curse. It is a blessing to be able to bake invariants into the definition of datatypes: we can finally write correct-by-cons...
The purpose of refactoring is to improve the quality of a software system by changing its internal design so that it is easier to understand or modify, or less prone to errors and...