Nothing Special   »   [go: up one dir, main page]

skip to main content
10.5555/2820167.2820180acmconferencesArticle/Chapter ViewAbstractPublication PagesicseConference Proceedingsconference-collections
research-article

Towards an emerging theory for the diagnosis of faulty functions in function-call traces

Published: 16 May 2015 Publication History

Abstract

When a fault occurs in the field, developers usually collect failure reports that contain function-call traces to uncover the root causes. Fault diagnosis in failure traces is an arduous task due to the volume and size of typical traces. Previously, we have conducted several research studies to diagnose faulty functions in function-call level traces of field failures. During our studies, we have found that different faults in closely related functions occur with similar function-call traces. We also infer from existing studies (including our previous work) that a classification or clustering algorithm can be trained on the function-call traces of a fault in a function and then be used to diagnose different faults in the traces where the same function appears. In this paper, we propose an emerging descriptive theory based on the propositions grounded in these empirical findings. There is scarcity of theorizing empirical findings in software engineering research and our work is a step towards filling this gap. The emerging theory is stated as: a fault in a function can be diagnosed from a function-call trace if the traces of the same or a different fault in that function are already known to a clustering or classification algorithm. We evaluate this theory using the criteria described in the literature. We believe that this emerging theory can help reduce the time spent in diagnosing the origin of faults in field traces.

References

[1]
J. H. Andrews, L. C. Briand, and Y. Labiche, "Is mutation an Appropriate Tool for Testing Experiments?," In Proc. of the 27th International Conference on Software Engineering, ACM, St. Louis, USA, 2005, pp. 402--411.
[2]
S. B. Bacharach, "Organizational Theories: Some Criteria for Evaluation," The Academy of Management Review, vol. 14, no. 4, 1989, pp. 496--515.
[3]
B. Boehm, and V. R. Basili, "Software Defect Reduction Top 10 List," Computer, vol. 34, no. 1, IEEE CS Press, 2001, pp. 135--137.
[4]
B. Boehm, and A. Jain, "An Iinitial Theory of Value-based Software Engineering," In Value-Based Software Engineering (1st edition), Springer, LNCS, Germany, 2005, pp. 15--33.
[5]
M. Brodie, Ma Sheng, G. Lohman, L. Mignet, M. Wilding, J. Champlin, P. Sohn, "Quickly Finding Known Software Problems via Automated Symptom Matching," In Proc. of the 2nd International Conference on Autonomic Computing, Seattle, WA, 2005, pp. 101--110.
[6]
J. Carroll, and P. A. Swatman, "Structured-case: A Methodological Framework for Building Theory in Information Systems Research," European Journal of Information Systems, vol. 9, no. 4, 2000, pp. 235--242.
[7]
B. Cohen. Developing Sociological Knowledge: Theory and Method. 2nd ed., Belmont, CA: Wadsworth Publishing, 1989.
[8]
V. Dallmeier, C. Lindig, and A. Zeller, "Lightweight Defect Localization for Java," In Proc. 19th European Conference. on Object-Oriented Programming, Springer LNCS, Glasgow, UK, 2005, pp. 528--550.
[9]
Y. Dang, R. Wu, H. Zhang, D. Zhang, P. Nobel, "ReBucket: A Method for Clustering Duplicate Crash Reports Based on Call Stack Similarity," In Proc. of the 34th International Conference on Software Engineering, Zurich, Switzerland, 2012, pp. 1084--1093.
[10]
T. Dhaliwal, F. Khomh, and Y. Zou, "Classifying Field Crash Reports for Fixing Bugs: A Case Study of Mozilla Firefox," In Proc. of 27th IEEE International Conference on Software Maintenance, 2011, pp. 333--342.
[11]
H. Do, S. G. Elbaum, and G. Rothermel, "Supporting Controlled Experimentation with Testing Techniques: An Infrastructure and its Potential Impact," Empirical Software Engineering, vol. 10, Springer, 2005, pp. 405--435.
[12]
R. Ferrari, "An Emerging Theory on the Interaction Between Requirements Engineering and Systems Architecting based on a Suite of Exploratory Empirical Studies," Ph.D. dissertation, University of Western Ontario, Ontario, Canada, 2010.
[13]
M. Gittens, Y. Kim, and D. Godwin, "The Vital Few Versus the Trivial Many: Examining the Pareto Principle for Software." In Proc. of the 29th International Conference on Computer Software and Applications, Edinburgh, Scotland, 2005, pp. 179--185.
[14]
B. D. Haig, "An Abductive Theory of Scientific Method," Psychological Methods, vol. 10, no. 4, 2005, pp. 371--388.
[15]
Hare, D.; and Julin, D.; "The Support Authority: Interpreting a WebSphere Application Server Trace File", IBM WebSphere Developer Technical Journal, 2007. http://www.ibm.com/developerworks/websphere/techjournal/0704_supauth/0704_supauth.html
[16]
A. Hamou-Lhadj, "Techniques to Simplify the Analysis of Execution Traces for Program Comprehension", Ph.D. Dissertation, School of Information Technology and Engineering (SITE), University of Ottawa, 2005.
[17]
H. Pirzadeh, A. Hamou-Lhadj, "A Novel Approach Based on Gestalt Psychology for Abstracting the Content of Large Execution Traces for Program Comprehension," In Proc. of the 16th IEEE International Conference on Engineering of Complex Computer Systems (ICECCS '11), pp. 221--230, 2011.
[18]
A. Hamou-Lhadj, and T. Lethbridge, "Reasoning About the Concept of Utilities," ECOOP International Workshop on Practical Problems of Programming in the Large, Oslo, Norway, Lecture Notes in Computer Science (LNCS), vol. 3344, Springer-Verlag, pp. 10--22, 2004.
[19]
M. Hutchins, H. Foster, T. Goradia, T. Ostrand, "Experiments on The Effectiveness of Dataflow- and Control-Flow-Based Test Adequacy Criteria," In Proc. of the 16th International Conference on Software Engineering, IEEE CS, Sorrento, Italy, 1994, pp. 191--200
[20]
J. A. Jones, and M. J. Harrold, "Empirical Evaluation of the Tarantula Automatic Fault-Localization Technique," In Proc. of 20th International Conference on Automated Software Engineering, IEEE/ACM, CA, USA, 2005, pp. 273--282.
[21]
J. Lawrance, C. Bogart, M. Burnett, R. Bellamy, K. Rector, S. D. Fleming, "How Programmers Debug, Revisited: An Information Foraging Theory Perspective," IEEE Transactions on Software Engineering, vol. 39, no. 2, 2013, pp. 197--215.
[22]
I. Lee, and R. Iyer, "Diagnosing Rediscovered Problems Using Symptoms, " IEEE Transactions on Sofware Engineering, vol. 26, no. 2, 2000, pp. 113--127.
[23]
R. B. Melnyk, "DB2 Basics: An introduction to the DB2 UDB trace facility," DB2 Information Development, IBM Canada Ltd., 2004. http://www.ibm.com/developerworks/data/library/techarticle/dm-0409melnyk/index.html
[24]
R. K. Merton. Social Theory and Social Structure, 3rd ed., New York: The Free Press, 1968.
[25]
S. S. Murtaza, A. Hamou-Lhadj, N. H. Madhavji, M. Gittens, "An Empirical Study on the Use of Mutant Traces for Diagnosis of Faults in Deployed Systems", Journal of Systems and Software, Elsevier, vol. 90, 2014, pp. 29--44.
[26]
S. S. Murtaza, M. Gittens, Z. Li, N. H. Madhavji, "F007: Finding Rediscovered Faults from the Field Using Function-level Failed Traces of Software in the Field", In Proc. of the 2010 Conference of the Centre for Advanced Studies on Collaborative Research (CASCON), ACM, Canada, 2010, pp. 61--75.
[27]
S. S. Murtaza, N. H. Madhavji, M. Gittens, A. Hamou-Lhadj, "Identifying Recurring Faulty Functions in Field Traces of a Large Industrial Software System," IEEE Transactions on Reliability, vol. 64, no. 1, 2014, pp. 269--283.
[28]
A. Offutt, and R. H. Untch, "Mutation 2000: Uniting the Orthogonal," In Mutation Testing for the New Century, USA: Kluwer Academic Publishers, 2001, pp. 34--44.
[29]
T. J. Ostrand, E. Weyuker and R. M. Bell, "Predicting the Location and Number of Faults in Large Software Systems," IEEE Transactions on Software Engineering, vol. 31, no. 4, 2005, pp. 340--355.
[30]
A. Podgurski, D. Leon, P. Francis, W. Masri, M. Minch, J. Sun, B. Wang, "Automated Support for Classifying Software Failure Reports," In Proc. of 25th International Conference on Software Engineering, IEEE CS, Portland, US, 2003, pp. 465--475.
[31]
D. Sjøberg, D. Dyba, B. C. Anda, and J. Hannay, "Building Theories in Software Engineering," In Guide to Advanced Empirical Software Engineering, London: Springer, 2008, pp. 312--336.
[32]
K. J. Stol, B. Fitzgerald, "Uncovering Theories in Software Engineering," In Proc. of 2nd SEMAT Workshop on a General Theory of Software Engineering (GTSE), 2013, pp. 5--14.
[33]
I. H. Witten, and E. Frank. Data Mining: Practical Machine Learning Tools and Techniques. Morgan Kaufmann, San Francisco, USA, 2005.
[34]
A. Wood, "Software Reliability from the Customer View," Computer, vol. 36, no. 8, IEEE CS, 2003, pp. 37--42.
[35]
R. K. Yin. Case Study Research: Design and Methods. Thousand Oaks, CA, USA: Sage Publications, 1984.

Cited By

View all
  • (2015)4th SEMAT workshop on general theory of software engineering (GTSE 2015)Proceedings of the 37th International Conference on Software Engineering - Volume 210.5555/2819009.2819241(983-984)Online publication date: 16-May-2015

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image ACM Conferences
GTSE '15: Proceedings of the Fourth SEMAT Workshop on General Theory of Software Engineering
May 2015
79 pages

Sponsors

Publisher

IEEE Press

Publication History

Published: 16 May 2015

Check for updates

Author Tags

  1. corrective software mainteance
  2. fault diagnosis
  3. field failures
  4. function-call traces

Qualifiers

  • Research-article

Conference

ICSE '15
Sponsor:

Upcoming Conference

ICSE 2025

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)3
  • Downloads (Last 6 weeks)0
Reflects downloads up to 24 Nov 2024

Other Metrics

Citations

Cited By

View all
  • (2015)4th SEMAT workshop on general theory of software engineering (GTSE 2015)Proceedings of the 37th International Conference on Software Engineering - Volume 210.5555/2819009.2819241(983-984)Online publication date: 16-May-2015

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media