Properties and Styles of Software Technology Tutorials - Arya, Deeksha M.; Guo, Jin L. C.; Robillard, Martin P. (IEEE transactions on software engineering, 2024)
A large number of tutorials for popular software development technologies are available online, and those about the same technology vary widely in their presentation. We studied the design of tutorials in the software documentation landscape for five popular programming languages: Java, C#, Python, Javascript, and Typescript. We investigated the extent to which tutorial pages, i.e. resources , differ and report statistics of variations in resource properties. We developed a framework for characterizing resources based on their distinguishing attributes , i.e. properties that vary widely for the resource, relative to other resources. Additionally, we propose that a resource can be represented by its resource style , i.e. the combination of its distinguishing attributes. We discuss three techniques for characterizing resources based on our framework, to capture notable and relevant content and presentation properties of tutorial pages. We apply these techniques on a data set of 2551 resources to validate that our framework identifies valid and interpretable styles. We contribute this framework for reasoning about the design of resources in the online software documentation landscape.