Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.5555/2486788.2486822acmconferencesArticle/Chapter ViewAbstractPublication PagesicseConference Proceedingsconference-collections
research-article

Unifying FSM-inference algorithms through declarative specification

Published: 18 May 2013 Publication History

Abstract

Logging system behavior is a staple development practice. Numerous powerful model inference algorithms have been proposed to aid developers in log analysis and system understanding. Unfortunately, existing algorithms are difficult to understand, extend, and compare. This paper presents InvariMint, an approach to specify model inference algorithms declaratively. We applied InvariMint to two model inference algorithms and present evaluation results to illustrate that InvariMint (1) leads to new fundamental insights and better understanding of existing algorithms, (2) simplifies creation of new algorithms, including hybrids that extend existing algorithms, and (3) makes it easy to compare and contrast previously published algorithms. Finally, algorithms specified with InvariMint can outperform their procedural versions.

References

[1]
M. Acharya, T. Xie, J. Pei, and J. Xu. Mining API Patterns as Partial Orders from Source Code: From Usage Scenarios to Specifications. In ESEC/FSE, 2007.
[2]
D. Angluin. Finding Patterns Common to a Set of Strings. Journal of Computer and System Sciences, 21(1):46–62, 1980.
[3]
C. M. Antunes and A. L. Oliveira. Temporal Data Mining: An Overview. In KDD 2001 Workshop on Temporal Data Mining, 2001.
[4]
A. Bertolino, P. Inverardi, P. Pelliccione, and M. Tivoli. Automatic Synthesis of Behavior Protocols for Composable Web-Services. In ESEC/FSE, pages 141–150, 2009.
[5]
I. Beschastnikh, Y. Brun, J. Abrahamson, M. D. Ernst, and A. Krishnamurthy. Unifying FSM-Inference Algorithms through Declarative Specification. Technical Report UW-CSE-13-03-01, 2013.
[6]
I. Beschastnikh, Y. Brun, S. Schneider, and M. D. Ernst. Leveraging Existing Instrumentation to Automatically Infer Invariant-Constrained Models. In ESEC/FSE, pages 267–277, 2011.
[7]
A. W. Biermann and J. A. Feldman. On the Synthesis of Finite-State Machines from Samples of Their Behavior. IEEE TC, 21(6):592–597, 1972.
[8]
B. Bollig, J.-P. Katoen, C. Kern, and M. Leucker. Learning Communicating Automata from MSCs. IEEE TSE, 36(3):390–408, 2010.
[9]
R. C. Carrasco and J. Oncina. Learning Stochastic Regular Grammars by Means of a State Merging Method. In ICGI, 1994.
[10]
E. Clarke, O. Grumberg, S. Jha, Y. Lu, and H. Veith. Counterexampleguided Abstraction Refinement. In Computer Aided Verification, pages 154–169, 2000.
[11]
J. E. Cook and A. L. Wolf. Discovering Models of Software Processes from Event-Based Data. ACM ToSEM, 7(3):215–249, 1998.
[12]
M. D. Ernst, J. Cockrell, W. G. Griswold, and D. Notkin. Dynamically Discovering Likely Program Invariants to Support Program Evolution. In ICSE, pages 213–224, 1999.
[13]
M. Gabel and Z. Su. Testing Mined Specifications. In FSE, 2012.
[14]
E. M. Gold. Language Identification in the Limit. Information and Control, 10(5):447–474, 1967.
[15]
S. Hangal and M. Lam. Tracking Down Software Bugs Using Automatic Anomaly Detection. In ICSE, 2002.
[16]
J. Hatcliff and M. Dwyer. Using the Bandera Tool Set to Model-Check Properties of Concurrent Java Software. In CONCUR, 2001.
[17]
J. E. Hopcroft. An n log n Algorithm for Minimizing States in a Finite Automaton. Technical report, Stanford Univ., 1971.
[18]
S. Kumar, S.-C. Khoo, A. Roychoudhury, and D. Lo. Inferring Class Level Specifications for Distributed Systems. In ICSE, 2012.
[19]
D. Lo and S.-C. Khoo. QUARK: Empirical Assessment of Automatonbased Specification Miners. In WCRE, 2006.
[20]
D. Lo and S.-C. Khoo. SMArTIC: Towards Building an Accurate, Robust and Scalable Specification Miner. In FSE, 2006.
[21]
D. Lo and S. Maoz. Scenario-Based and Value-Based Specification Mining: Better Together. In ASE, pages 387–396, 2010.
[22]
D. Lo, L. Mariani, and M. Pezzè. Automatic Steering of Behavioral Model Inference. In ESEC/FSE, 2009.
[23]
D. Lorenzoli, L. Mariani, and M. Pezzè. Automatic Generation of Software Behavioral Models. In ICSE, 2008.
[24]
L. Mariani and M. Pezzè. Dynamic Detection of COTS Component Incompatibility. IEEE Software, 24(5):76–85, 2007.
[25]
M. Pradel, P. Bichsel, and T. R. Gross. A Framework for the Evaluation of Specification Miners Based on Finite State Machines. In ICSM, 2010.
[26]
A. V. Raman and J. D. Patrick. The sk-strings Method for Inferring PFSA. In AIGILA, 1997.
[27]
S. P. Reiss and M. Renieris. Encoding Program Executions. In ICSE, 2001.
[28]
N. Walkinshaw and K. Bogdanov. Inferring Finite-State Models with Temporal Constraints. In ASE, pages 248–257, 2008.
[29]
W. Xu, L. Huang, A. Fox, D. Patterson, and M. Jordan. Experience Mining Google’s Production Console Logs. In SLAML, 2010.
[30]
J. Yang, D. Evans, D. Bhardwaj, T. Bhat, and M. Das. Perracotta: Mining Temporal API Rules from Imperfect Traces. In ICSE, 2006.
[31]
T. Ziadi, M. da Silva, L. Hillah, and M. Ziane. A Fully Dynamic Approach to the Reverse Engineering of UML Sequence Diagrams. In ICECCS, pages 107–116, 2011.

Cited By

View all
  • (2022)A Hybrid Approach for Inference between Behavioral Exception API Documentation and Implementations, and Its ApplicationsProceedings of the 37th IEEE/ACM International Conference on Automated Software Engineering10.1145/3551349.3560434(1-13)Online publication date: 10-Oct-2022
  • (2018)Using finite-state models for log differencingProceedings of the 2018 26th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering10.1145/3236024.3236069(49-59)Online publication date: 26-Oct-2018
  • (2018)Extending existing inference tools to mine dynamic APIsProceedings of the 2nd International Workshop on API Usage and Evolution10.1145/3194793.3194797(23-26)Online publication date: 2-Jun-2018
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
ICSE '13: Proceedings of the 2013 International Conference on Software Engineering
May 2013
1561 pages
ISBN:9781467330763

Sponsors

Publisher

IEEE Press

Publication History

Published: 18 May 2013

Check for updates

Qualifiers

  • Research-article

Conference

ICSE '13
Sponsor:

Acceptance Rates

Overall Acceptance Rate 276 of 1,856 submissions, 15%

Upcoming Conference

ICSE 2025

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)1
  • Downloads (Last 6 weeks)0
Reflects downloads up to 09 Jan 2025

Other Metrics

Citations

Cited By

View all
  • (2022)A Hybrid Approach for Inference between Behavioral Exception API Documentation and Implementations, and Its ApplicationsProceedings of the 37th IEEE/ACM International Conference on Automated Software Engineering10.1145/3551349.3560434(1-13)Online publication date: 10-Oct-2022
  • (2018)Using finite-state models for log differencingProceedings of the 2018 26th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering10.1145/3236024.3236069(49-59)Online publication date: 26-Oct-2018
  • (2018)Extending existing inference tools to mine dynamic APIsProceedings of the 2nd International Workshop on API Usage and Evolution10.1145/3194793.3194797(23-26)Online publication date: 2-Jun-2018
  • (2018)Inferring hierarchical motifs from execution tracesProceedings of the 40th International Conference on Software Engineering10.1145/3180155.3180216(776-787)Online publication date: 27-May-2018
  • (2018)Dataflow tunnelingProceedings of the 40th International Conference on Software Engineering10.1145/3180155.3180171(586-597)Online publication date: 27-May-2018
  • (2016)Monkey see, monkey do: effective generation of GUI tests with inferred macro eventsProceedings of the 25th International Symposium on Software Testing and Analysis10.1145/2931037.2931053(82-93)Online publication date: 18-Jul-2016
  • (2016)Visually reasoning about system and resource behaviorProceedings of the 38th International Conference on Software Engineering Companion10.1145/2889160.2889166(601-604)Online publication date: 14-May-2016
  • (2016)Behavioral log analysis with statistical guaranteesProceedings of the 38th International Conference on Software Engineering10.1145/2884781.2884805(877-887)Online publication date: 14-May-2016
  • (2015)ZoomInProceedings of the 37th International Conference on Software Engineering - Volume 110.5555/2818754.2818765(66-76)Online publication date: 16-May-2015
  • (2015)Behavioral log analysis with statistical guaranteesProceedings of the 2015 10th Joint Meeting on Foundations of Software Engineering10.1145/2786805.2803198(898-901)Online publication date: 30-Aug-2015
  • Show More Cited By

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