[go: up one dir, main page]
More Web Proxy on the site http://driver.im/ skip to main content
10.1145/3183440.3183448acmconferencesArticle/Chapter ViewAbstractPublication PagesicseConference Proceedingsconference-collections
short-paper

Interactive model mining from embedded legacy software

Published: 27 May 2018 Publication History

Abstract

Model mining from software systems can be very helpful for program comprehension. The few existing approaches for extracting high level models from code - when applied to real-world systems written in C - deliver too detailed and complex models that cannot be understood by humans. In my Ph.D. project, I propose an approach that complements fully-automatic model mining approaches with user interaction to get understandable models. The evaluation of this approach includes a controlled experiment with a large number of experts, in order to assess the effectiveness of the interactively mined models for understanding complex legacy software.

References

[1]
James C. Corbett, Matthew B. Dwyer, John Hatcliff, Shawn Laubach, Corina S. Pasareanu, Robby, and Hongjun Zheng. 2000. Bandera: extracting finite-state models from Java source code. In Proc. of 22nd ICSE. 439--448.
[2]
Richard K. Fjeldstad and William T. Hamlen. 1984. Application program maintenance study: Report to our respondents. In Proc. GUIDE 48.
[3]
Patrice Godefroid, Nils Klarlund, and Koushik Sen. 2005. DART: directed automated random testing. In Proc. of PLDI. 213--223.
[4]
Andreas Hoffmann, Jochen Quante, and Matthias Woehrle. 2016. Experience Report: White Box Test Case Generation for Automotive Embedded Software. In Proc. of 9th Int'l Conf. on Software Testing, Verification and Validation Workshops, TAIG-PART Workshop. 269--274.
[5]
Rahul Jiresal, Hemanth Makkapati, and Ravindra Naik. 2011. Statechart Extraction from Code - An Approach using Static Program Analysis and Heuristics Based Abstractions. In Proc. of 2nd India Workshop on Reverse Engineering.
[6]
James C. King. 1976. Symbolic execution and program testing. J. ACM 19, 7 (1976), 385--394.
[7]
A. J. Ko, B. A. Myers, M. J. Coblenz, and H. H. Aung. 2006. An Exploratory Study of How Developers Seek, Relate, and Collect Relevant Information during Software Maintenance Tasks. IEEE Transactions on Software Engineering 32, 12 (Dec 2006), 971--987.
[8]
Rainer Koschke and Daniel Simon. 2003. Hierarchical Reflexion Models. In Proceedings of the 10th Working Conference on Reverse Engineering (WCRE '03). 36--45.
[9]
David Chenho Kung, N. Suchak, Jerry Zeyu Gao, Pei Hsia, Yasufumi Toyoshima, and Chris Chen. 1994. On object state testing. In Proc. of 18th Int'l Computer Software and Applications Conference (COMPSAG). 222--227.
[10]
Gail C. Murphy, David Notkin, and Kevin Sullivan. 1995. Software Reflexion Models: Bridging the Gap Between Source and High-level Models. SIGSOFT Softw. Eng. Notes 20, 4 (Oct. 1995), 18--28.
[11]
N. Prywes and P. Rehmet. 1996. Recovery of software design, state-machines and specifications from source code. In Proc. of 2nd Int'l Conf. on Engineering of Complex Computer Systems. 279--288.
[12]
Wasim Said, Jochen Quante, and Rainer Koschke. 2018. Towards Interactive Mining of Understandable State Machine Models from Embedded Software. In Proceedings of the 6th International Conference on Model-Driven Engineering and Software Development - Volume 1: MODELSWARD. 117--128.
[13]
Tamal Sen and Rajib Mall. 2016. Extracting finite state representation of Java programs. Software & Systems Modeling 15, 2 (2016), 497--511.
[14]
Mark van den Brand, Alexander Serebrenik, and Dennie van Zeeland. 2008. Extraction of State Machines of Legacy C code with Cpp2XMI. In Proc. of 7th Belgian-Netherlands Software Evolution Workshop. 28--30.

Cited By

View all
  • (2022)Comprehension of Computer Programs Through Reverse Engineering Approaches and Techniques: A Systematic Mapping StudyNew Perspectives in Software Engineering10.1007/978-3-031-20322-0_9(126-140)Online publication date: 30-Oct-2022

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image ACM Conferences
ICSE '18: Proceedings of the 40th International Conference on Software Engineering: Companion Proceeedings
May 2018
231 pages
ISBN:9781450356633
DOI:10.1145/3183440
  • Conference Chair:
  • Michel Chaudron,
  • General Chair:
  • Ivica Crnkovic,
  • Program Chairs:
  • Marsha Chechik,
  • Mark Harman
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 27 May 2018

Permissions

Request permissions for this article.

Check for updates

Qualifiers

  • Short-paper

Conference

ICSE '18
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)3
  • Downloads (Last 6 weeks)0
Reflects downloads up to 12 Jan 2025

Other Metrics

Citations

Cited By

View all
  • (2022)Comprehension of Computer Programs Through Reverse Engineering Approaches and Techniques: A Systematic Mapping StudyNew Perspectives in Software Engineering10.1007/978-3-031-20322-0_9(126-140)Online publication date: 30-Oct-2022

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