Skip to main content

DAG Mining for Code Compaction

  • Chapter

In order to reduce cost and energy consumption, code-size optimization is an important issue for embedded systems. Traditional instruction saving techniques recognize code duplications only in exactly the same order within the program. As instructions can be reordered with respect to their data dependencies, Procedural Abstraction achieves better results on data flow graphs that reflect these dependencies. Since these graphs are always directed acyclic graphs (DAGs), a special mining algorithm for DAGs is presented in this chapter. Using a new canonical representation that is based on the topological order of the nodes in a DAG, the proposed algorithm is faster and uses less memory than the general graph mining algorithm gSpan. Due to its search lattice expansion strategy, an efficient pruning strategy is applied to the algorithm while using it for Procedural Abstraction. Its search for unconnected graph fragments outperforms traditional approaches for code-size reduction.

This is a preview of subscription content, log in via an institution.

Buying options

Chapter
USD   29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD   84.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD   109.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info
Hardcover Book
USD   109.99
Price excludes VAT (USA)
  • Durable hardcover edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Learn about institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Rakesh Agrawal, Tomasz Imielinski, and Arun Swami. Mining association rules between sets of items in large databases. SIGMOD Record, 22(2):207 – 216, May 1993.

    Article  Google Scholar 

  2. Christian Borgelt and Michael R. Berthold. Mining Molecular Fragments: Finding Relevant Substructures of Molecules. In Proc. IEEE Int'l Conf. on Data Mining (ICDM'02), pages 51 – 58, Maebashi City, Japan, December 2002.

    Google Scholar 

  3. Y.-L. Chen, H.-P. Kao, and M.-T. Ko. Mining DAG Patterns from DAG Databases. In Proc. 5th Int'l Conf. on Advances in Web-Age Information Management (WAIM '04), volume 3129 of LNCS, pages 579 – 588, Dalian, China, July 2004. Springer.

    Google Scholar 

  4. Y. Chi, R. Muntz, S. Nijssen, and J. Kok. Frequent subtree mining — an overview. Fundamenta Informaticae, 66(1–2):161 – 198, 2005.

    MATH  MathSciNet  Google Scholar 

  5. Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, and Clifford Stein. Introduction to Algorithms, Second Edition. The MIT Press and McGraw-Hill Book Company, 2001.

    Google Scholar 

  6. S.K. Debray, W. Evans, R. Muth, and B. De Sutter. Compiler Techniques for Code Compaction. ACM Trans. on Programming Languages and Systems, 22(2):378 – 415, March 2000.

    Article  Google Scholar 

  7. A. Dreweke, M. Wörlein, I. Fischer, D. Schell, T. Meinl, and M. Philippsen. Graph-Based Procedural Abstraction. In Proc. of the 5th Int'l Symp. on Code Generation and Optimization, pages 259 – 270, San Jose, CA, USA, 2007. IEEE.

    Chapter  Google Scholar 

  8. Scott Fortin. The Graph Isomorphism Problem. Technical Report 20, University of Alberta, Edmonton, Canada, July 1996.

    Google Scholar 

  9. M. R. Guthaus, J. S. Ringenberg, D. Ernst, T. M. Austin, T. Mudge, and R. B. Brown. MiBench: A free, commercially representative embedded benchmark suite. In Proc. Int'l Workshop on Workload Characterization (WWC '01), pages 3 – 14, Austin, TX, Dec. 2001.

    Google Scholar 

  10. Brendan McKay. Practical Graph Isomorphism. Congressus Numerantium, 30:45 – 87, 1981.

    MathSciNet  Google Scholar 

  11. Steven S. Muchnick. Advanced Compiler Design and Implementation. Morgan Kaufmann Publishers Inc., San Francisco, CA, USA, 1997.

    Google Scholar 

  12. Siegfried Nijssen and Joost N. Kok. A Quickstart in Frequent Structure Mining can make a Difference. In Proc. Tenth ACM SIGKDD Int'l Conf. on Knowledge Discovery and Data Mining (KDD '04), pages 647 – 652, Seattle, WA, USA, August 2004. ACM Press.

    Google Scholar 

  13. Robert Endre Tarjan and Anthony E. Trojanowski. Finding a Maximum Independent Set. SIAM Journal on Computing (SICOMP), 6(3):537 – 546, 1977.

    Article  MATH  Google Scholar 

  14. A. Termier, T. Washio, T. Higuchi, Y. Tamada, S. Imoto, K. Ohara, and H. Motoda. Mining Closed Frequent DAGs from Gene Network Data with Dryade. In 20th Annual Conf. of the Japanese Society for Artificial Intelligence, pages 1A2 – 3, Tokyo, Japan, June 2006.

    Google Scholar 

  15. M. Wörlein, T. Meinl, I. Fischer, and M. Philippsen. A quantitative comparison of the subgraph miners MoFa, gSpan, FFSM, and Gaston. In Proc. Conf. on Knowledge Discovery in Database (PKDD'05), volume 3721 of LNCS, pages 392 – 403, Porto, Portugal, October 2005.

    Google Scholar 

  16. Xifeng Yan and Jiawei Han. gSpan: Graph-Based Substructure Pattern Mining. In Proc. IEEE Int'l Conf. on Data Mining (ICDM'02), pages 721 – 724, Maebashi City, Japan, Dec. 2002.

    Google Scholar 

  17. David Zaretsky, Gaurav Mittal, Robert P. Dick, and Prith Banerjee. Dynamic Template Generation for Resource Sharing in Control and Data Flow Graphs. In Proc. 19th Int'l Conf. on VLSI Design, pages 465 – 468, Hyderabad, India, January 2006.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to T. Werth .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2009 Springer Science+Business Media, LLC

About this chapter

Cite this chapter

Werth, T., Wörlein, M., Dreweke, A., Fischer, I., Philippsen, M. (2009). DAG Mining for Code Compaction. In: Cao, L., Yu, P.S., Zhang, C., Zhang, H. (eds) Data Mining for Business Applications. Springer, Boston, MA. https://doi.org/10.1007/978-0-387-79420-4_15

Download citation

  • DOI: https://doi.org/10.1007/978-0-387-79420-4_15

  • Publisher Name: Springer, Boston, MA

  • Print ISBN: 978-0-387-79419-8

  • Online ISBN: 978-0-387-79420-4

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics