Award Abstract # 1218129
III: Small: Collaborative Research: Linking Evolving Software Requirements and Acceptance Tests

NSF Org: CCF
Division of Computing and Communication Foundations
Recipient: COLLEGE OF WILLIAM AND MARY
Initial Amendment Date: June 20, 2012
Latest Amendment Date: June 20, 2012
Award Number: 1218129
Award Instrument: Standard Grant
Program Manager: Sol Greenspan
sgreensp@nsf.gov
 (703)292-7841
CCF
 Division of Computing and Communication Foundations
CSE
 Directorate for Computer and Information Science and Engineering
Start Date: September 1, 2012
End Date: August 31, 2016 (Estimated)
Total Intended Award Amount: $250,000.00
Total Awarded Amount to Date: $250,000.00
Funds Obligated to Date: FY 2012 = $250,000.00
History of Investigator:
  • Denys Poshyvanyk (Principal Investigator)
    dposhyvanyk@wm.edu
Recipient Sponsored Research Office: College of William and Mary
1314 S MOUNT VERNON AVE
WILLIAMSBURG
VA  US  23185
(757)221-3965
Sponsor Congressional District: 08
Primary Place of Performance: College of William and Mary
VA  US  23187-8795
Primary Place of Performance
Congressional District:
01
Unique Entity Identifier (UEI): EVWJPCY6AD97
Parent UEI: EVWJPCY6AD97
NSF Program(s): Software & Hardware Foundation
Primary Program Source: 01001213DB NSF RESEARCH & RELATED ACTIVIT
Program Reference Code(s): 7923, 7944
Program Element Code(s): 779800
Award Agency Code: 4900
Fund Agency Code: 4900
Assistance Listing Number(s): 47.070

ABSTRACT

Two distinct milestones of any software development lifecycle are requirements gathering and acceptance testing, where a software product is verified against its requirements. Yet this verification is one of the most difficult tasks, since it involves bridging an abstraction gap between high-level descriptions of requirements and their low-level implementations in the source code. Determining how different requirements are covered by acceptance tests is very hard, since it means tracing each acceptance test to specific requirements. Many companies and organizations do not have or cannot invest significant resources into recovering links among requirements, acceptance tests and other artifacts. As a result, software development is not as efficient as it could be, lacking controls to steer the overall testing and bug-fixing effort, and involving extra work peripheral to the core tasks. The end result is a situation in which it is unclear how well software is tested and how much confidence stakeholders can have in it.

We are addressing this fundamental problem by defining and developing a new, integrated model for recovering traceability links using execution artifacts, diverse models, and requirements. We develop techniques for automatically generating additional test cases that execute untested code to recover additional traceability links and verify existing ones. To ensure that our approach is effective, we will perform rigorous case studies in real industrial scenarios to evaluate the model, techniques, and methodologies. As a result, the state-of-the-practice in software development will be improved that faces difficulties in ensuing that software products are tested fully with respect to their requirements. Among the broader impacts the project includes developing educational course content, involving underrepresented categories of students, producing software tools under open source licenses, and collaborating with industry to transfer technology.

PUBLICATIONS PRODUCED AS A RESULT OF THIS RESEARCH

Note:  When clicking on a Digital Object Identifier (DOI) number, you will be taken to an external site maintained by the publisher. Some full text articles may not yet be available without a charge during the embargo (administrative interval).

Some links on this page may take you to non-federal websites. Their policies may differ from this site.

(Showing: 1 - 10 of 16)
Bavota, Gabriele and Gethers, Malcom and Oliveto, Rocco and Poshyvanyk, Denys and de Lucia, Andrea "{Improving Software Modularization via Automated Analysis of Latent Topics and Dependencies}" ACM Transactions on Software Engineering and Methodology (TOSEM) , v.23 , 2014 , p.1--33 10.1145/2559935
Bavota, Gabriele and Gethers, Malcom and Oliveto, Rocco and Poshyvanyk, Denys and Lucia, Andrea de "Improving Software Modularization via Automated Analysis of Latent Topics and Dependencies" ACM Transactions on Software Engineering and Methodology , v.23 , 2014 , p.4:1--4:33
Bavota, Gabriele and Linares-V{\'{a}}squez, Mario and Bernal-C{\'{a}}rdenas, Carlos and {Di Penta}, Massimiliano and Oliveto, Rocco and Poshyvanyk, Denys "{The Impact of API Change and Fault-Proneness on the User Ratings of Android Apps}" IEEE Transactions on Software Engineering (TSE) , v.41 , 2015 , p.384--407 10.1109/TSE.2014.2367027
Bavota, G. and Linares-Vasquez, M. and Bernal-Cardenas, C.E. and Di Penta, M. and Oliveto, R. and Poshyvanyk, D. "The Impact of API Change- and Fault-Proneness on the User Ratings of Android Apps" IEEE Transactions on Software Engineering , v.41 , 2015 , p.384-407
Bavota, G., Gethers M., Oliveto, R., Poshyvanyk, D., and De Lucia, A. ""Improving Software Modularization via Automated Analysis of Latent Topics and Dependencies"" ACM Transactions on Software Engineering and Methodology (TOSEM) , v.23 , 2014
Dit, Bogdan and Moritz, Evan and Linares-V{\'{a}}squez, Mario and Poshyvanyk, Denys and Cleland-Huang, Jane "{Supporting and Accelerating Reproducible Empirical Research in Software Evolution and Maintenance Using TraceLab Component Library}" Empirical Software Engineering (EMSE) , v.20 , 2015 , p.1198--123 10.1007/s10664-014-9339-3
Dit, Bogdan and Moritz, Evan and Linares-Vásquez, Mario and Poshyvanyk, Denys and Cleland-Huang, Jane "Supporting and accelerating reproducible empirical research in software evolution and maintenance using TraceLab Component Library" Empirical Software Engineering , v.20 , 2015 , p.1198-1236
Kagdi, H., Gethers, M., and Poshyvanyk, D. ""Integrating Conceptual and Logical Couplings for Change Impact Analysis in Software"" Empirical Software Engineering , v.18 , 2013 , p.933-969
Kagdi, Huzefa and Gethers, Malcom and Poshyvanyk, Denys "Integrating conceptual and logical couplings for change impact analysis in software" Empirical Software Engineering , v.18 , 2013 , p.933-969 1382-3256
Kagdi, Huzefa and Gethers, Malcom and Poshyvanyk, Denys "{Integrating Conceptual and Logical Couplings for Change Impact Analysis in Software}" Empirical Software Engineering (EMSE) , v.18 , 2013 , p.933--969 10.1007/s10664-012-9233-9
Linares-V{\'{a}}squez, Mario and McMillan, Collin and Poshyvanyk, Denys and Grechanik, Mark "{On Using Machine Learning to Automatically Classify Software Applications Into Domain Categories}" Empirical Software Engineering (EMSE) , v.19 , 2014 , p.582--618 10.1007/s10664-012-9230-z
(Showing: 1 - 10 of 16)

PROJECT OUTCOMES REPORT

Disclaimer

This Project Outcomes Report for the General Public is displayed verbatim as submitted by the Principal Investigator (PI) for this award. Any opinions, findings, and conclusions or recommendations expressed in this Report are those of the PI and do not necessarily reflect the views of the National Science Foundation; NSF has not approved or endorsed its content.

Requirements traceability is the ability to describe and follow the life of a requirement in both a forward and backward direction by defining relationships to related development artifacts. Test-Requirement Traceability (TRT) plays an increasingly important role in agile software development, especially in continuous delivery when software is tested and released frequently, at the end of each delivery iteration.  Requirements are frequently modified, and many different software design and code artifacts are created and modified during these iterations to implement these requirements. Software release cycles in agile development can be as frequent as days, and releasing a new version of software with new artifacts in such a short period of time makes it difficult for software engineers to trace tests to requirements manually, since different software artifacts are created or modified repeatedly and they are tested at the end of each iteration.

 

To address this issue, the project formulated (1) a novel approach to bridging inherent abstraction gap that exists between evolving acceptance tests and requirements, (2) novel analysis techniques and algorithms that enable stakeholders to automatically recover traceability links between requirements and tests in the presence of incomplete semi-structured information and non-code artifacts, and (3) a suite of new tools that were be developed, evaluated, and made available to the scientific and industrial communities. Some of the broader impacts from this project include (1) improving the state-of-the-practice in software development that faces difficulties in ensuing that software products are tested fully with respect to their requirements, (2) demonstrating improved testing practices with our industry partners, (3) developing educational course content and piloting it in our courses as part of this research proposal, and (4) actively involving underrepresented categories of students in this research program.

 

The resulting work has been published in several high-quality software engineering conferences and journals (some gaining best paper recognition).   A number of undergraduate and graduate students, including a minority doctoral student, were trained and became contributing members on this project.  Several of these students co-authored and presented papers at international conferences.  Multiple graduate-level theses were derived from this project. The students graduating from this program have secured full-time employment in academia and software industry.  The gained scientific knowledge was integrated in multiple undergraduate and graduate classes at the host institutions, which broadens STEM education.  ACM/IEEE Software Engineering Curriculum Guidelines identified software evolution among the ten key areas of SE education. A number of open-source software tools were developed and are made available publicly.  The data repositories resulting from this project are made accessible to the scientific community and general public through the web sites of the two participating institutions. The project enhanced and strengthened a long-term professional collaboration not only between the two PIs at academic institutions, but also among the involved students.  The computing infrastructure established during the course of the project permits the sustainability of its resources.


Last Modified: 11/21/2016
Modified by: Denys Poshyvanyk

Please report errors in award information by writing to: awardsearch@nsf.gov.

Print this page

Back to Top of page