题目:Where are Requirements implemented in the Source Code? A Story about Lack of Understanding, Error, Incompleteness, and Uncertainty 报告人: Prof. Alexander Egyed Johannes Kepler University (JKU) 时间:2010年6月22日14:30 地点:科技馆2楼报告厅 Abstract: Trace links between requirements and code reveal where requirements are implemented. Such trace links are essential for code understanding and change management. The lack thereof is often cited as a key reason for software engineering failure. Unfortunately, the creation and maintenance of trace links remains a manual and error prone task due to the informal nature of requirements and surprisingly little is known about how humans perform basic tracing tasks. This talk first discusses the human cost of capturing trace links and then demonstrates a new and novel method for validating such requirements-to-code traces. To assess the human cost, the talk presents findings of two exploratory experiments conducted with 100 subjects who recovered trace links for two open source software systems in a controlled environment. To validate trace links, the talk presents how requirements-to-code traces form regions along calling dependencies. Erroneous traces are then detectable if a method inside a region does not trace to a requirement or a method outside does. We will see that relatively simple patterns are capable of detecting most errors with surprisingly high quality with 74-88% precision and 96-99% recall. This approach was evaluated on five software systems totaling over 150KLOC, varying domains, and programming languages. Both the lessons learned from the exploratory study of trace capture and the high combined precision and recall of automatically validating trace links are a huge advancement over the current state of the art since little is known about the human cost of trace capture and precise methods for validating them do not exist. Bio:
Prof. Dr. Alexander Egyed is a full professor at the Johannes Kepler University (JKU), Austria and head of the Institute for Systems Engineering and Automation (SEA). Before joining the JKU in 2008, Dr. Egyed worked as a Research Scientist for Teknowledge Corporation, USA (2000-2007) and then as a Research Fellow at the University College London, UK (2007-2008). He received his Doctorate degree from the University of Southern California, USA under the mentorship of Dr. Barry Boehm in 2000 and has since developed a strong track record for working on software-intensive systems in interdisciplinary domains. Dr. Egyed’s work has been supported by many research grants from Austria, Canada, UK, and USA and his work has led to over 80 refereed publications in scientific books, journals, conferences, and workshops. He was recognized as the 10th best scholar in software engineering in a study by Ren-Taylor in 2007, was named an IBM Research Faculty Fellow in 2010 in recognition to his contributions to consistency checking, and received a Recognition of Service Award from the ACM. His research interests and expertise include model-driven engineering, variability, requirements engineering, consistency checking and resolution, and traceability. He is a member of the IEEE, IEEE Computer Society, ACM, and ACM SIGSOFT.
|