Techniques for classifying executions of deployed software to support software engineering tasks

被引:22
|
作者
Haran, Murali [1 ]
Karr, Alan
Last, Michael
Orso, Alessandro
Porter, Adam A.
Sanil, Ashish
Fouche, Sandro
机构
[1] Penn State Univ, Dept Stat, University Pk, PA 16802 USA
[2] Natl Inst Stat Sci, Res Triangle Pk, NC 27709 USA
[3] Georgia Inst Technol, Coll Comp, Atlanta, GA 30332 USA
[4] Univ Maryland, Dept Comp Sci, Bethesda, MD 20814 USA
基金
美国国家科学基金会;
关键词
execution classification; remote analysis/measurement;
D O I
10.1109/TSE.2007.1004
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
There is an increasing interest in techniques that support analysis and measurement of fielded software systems. These techniques typically deploy numerous instrumented instances of a software system, collect execution data when the instances run in the field, and analyze the remotely collected data to better understand the system's in-the-field behavior. One common need for these techniques is the ability to distinguish execution outcomes ( e. g., to collect only data corresponding to some behavior or to determine how often and under which condition a specific behavior occurs). Most current approaches, however, do not perform any kind of classification of remote executions and either focus on easily observable behaviors ( e. g., crashes) or assume that outcomes' classifications are externally provided ( e. g., by the users). To address the limitations of existing approaches, we have developed three techniques for automatically classifying execution data as belonging to one of several classes. In this paper, we introduce our techniques and apply them to the binary classification of passing and failing behaviors. Our three techniques impose different overheads on program instances and, thus, each is appropriate for different application scenarios. We performed several empirical studies to evaluate and refine our techniques and to investigate the trade-offs among them. Our results show that 1) the first technique can build very accurate models, but requires a complete set of execution data; 2) the second technique produces slightly less accurate models, but needs only a small fraction of the total execution data; and 3) the third technique allows for even further cost reductions by building the models incrementally, but requires some sequential ordering of the software instances' instrumentation.
引用
收藏
页码:287 / 304
页数:18
相关论文
共 50 条
  • [1] Framework for classifying and comparing software reverse engineering and design recovery techniques
    Gannod, Gerald C.
    Cheng, Betty H.C.
    Reverse Engineering - Working Conference Proceedings, 1999, : 77 - 88
  • [2] SOFTWARE ENGINEERING, THE SOFTWARE PROCESS AND THEIR SUPPORT
    LEHMAN, MM
    SOFTWARE ENGINEERING JOURNAL, 1991, 6 (05): : 243 - 258
  • [3] iTrace: Enabling Eye Tracking on Software Artifacts within the IDE to Support Software Engineering Tasks
    Shaffer, Timothy R.
    Wise, Jenna L.
    Walters, Braden M.
    Muller, Sebastian C.
    Falcone, Michael
    Sharif, Bonita
    2015 10TH JOINT MEETING OF THE EUROPEAN SOFTWARE ENGINEERING CONFERENCE AND THE ACM SIGSOFT SYMPOSIUM ON THE FOUNDATIONS OF SOFTWARE ENGINEERING (ESEC/FSE 2015) PROCEEDINGS, 2015, : 954 - 957
  • [4] Software engineering decision support/strategic software engineering
    University of Hawaii, United States
    不详
    Proc. Annu. Hawaii Int. Conf. Syst. Sci., 2006, (227):
  • [5] Evaluating the Specificity of Text Retrieval Queries to Support Software Engineering Tasks
    Haiduc, Sonia
    Bavota, Gabriele
    Oliveto, Rocco
    Marcus, Andrian
    De Lucia, Andrea
    2012 34TH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING (ICSE), 2012, : 1273 - 1276
  • [6] Automated support for classifying software failure reports
    Podgurski, A
    Leon, D
    Francis, P
    Masri, W
    Minch, M
    Sun, JY
    Wang, B
    25TH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING, PROCEEDINGS, 2003, : 465 - 475
  • [7] Concurrent engineering support in software engineering
    Estublier, Jacky
    Garcia, Sergio
    ASE 2006: 21ST IEEE INTERNATIONAL CONFERENCE ON AUTOMATED SOFTWARE ENGINEERING, PROCEEDINGS, 2006, : 209 - 218
  • [8] Probe distribution techniques to profile events in deployed software
    Diep, Madeline
    Cohen, Myra
    Elbaum, Sebastian
    ISSRE 2006:17TH INTERNATIONAL SYMPOSIUM ON SOFTWARE RELIABILITY ENGINEERING, PROCEEDINGS, 2006, : 331 - +
  • [9] Towards Utilizing Natural Language Processing Techniques to Assist in Software Engineering Tasks
    Ding, Zishuo
    2023 IEEE/ACM 45TH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING: COMPANION PROCEEDINGS, ICSE-COMPANION, 2023, : 286 - 290
  • [10] Techniques for trusted software engineering
    Devanbu, PT
    Fong, PWL
    Stubblebine, SG
    PROCEEDINGS OF THE 1998 INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING, 1998, : 126 - 135