Exploiting traceability uncertainty among artifacts and code

by Achraf Ghabi, Alexander Egyed
Abstract:
Traceability between software development artifacts and code has proven to save effort and improve quality. However, documenting and maintaining such traces remains highly unreliable. Traceability is rarely captured immediately while artifacts and code co-evolve. Instead they are recovered later. By then key people may have moved on or their recollection of facts may be incomplete and inconsistent. This paper proposes a language for capturing traceability that allows software engineers to express arbitrary assumption about the traceability between artifacts and code – even assumptions that may be inconsistent or incomplete. Our approach takes these assumptions to reasons about their logical consequences (hence increasing completeness) and to reveal inconsistencies (hence increasing correctness). In doing so, our approach’s reasoning is correct even in the presence of known inconsistencies. This paper demonstrates the correctness and scalability of our approach on several, large-scale third-party software systems. Our approach is automated and tool supported.
Reference:
Achraf Ghabi, Alexander Egyed, "Exploiting traceability uncertainty among artifacts and code", In Journal of Systems and Software, vol. 108, pp. 178-192, 2015.
Bibtex Entry:
@Article{DBLP:journals/jss/GhabiE15,
  Title                    = {Exploiting traceability uncertainty among artifacts and code},
  Author                   = {Achraf Ghabi and
 Alexander Egyed},
  Journal                  = {Journal of Systems and Software},
  Year                     = {2015},
  Pages                    = {178--192},
  Volume                   = {108},

  Abstract                 = {Traceability between software development artifacts and code has proven to save effort and improve quality. However, documenting and maintaining such traces remains highly unreliable. Traceability is rarely captured immediately while artifacts and code co-evolve. Instead they are recovered later. By then key people may have moved on or their recollection of facts may be incomplete and inconsistent. This paper proposes a language for capturing traceability that allows software engineers to express arbitrary assumption about the traceability between artifacts and code – even assumptions that may be inconsistent or incomplete. Our approach takes these assumptions to reasons about their logical consequences (hence increasing completeness) and to reveal inconsistencies (hence increasing correctness). In doing so, our approach’s reasoning is correct even in the presence of known inconsistencies. This paper demonstrates the correctness and scalability of our approach on several, large-scale third-party software systems. Our approach is automated and tool supported.},
  Bibsource                = {dblp computer science bibliography, http://dblp.org},
  Biburl                   = {http://dblp.uni-trier.de/rec/bib/journals/jss/GhabiE15},
  Doi                      = {10.1016/j.jss.2015.06.037},
  File                     = {:Journals\\Articles\\Exploiting traceability uncertainty among artifacts and code.pdf:PDF},
  Keywords                 = {FWF P23115-N23},
  Owner                    = {AK117794},
  Timestamp                = {Fri, 14 Aug 2015 10:29:04 +0200},
  Url                      = {http://dx.doi.org/10.1016/j.jss.2015.06.037}
}
Powered by bibtexbrowser