skip to main content
10.1145/2591062.2591065acmconferencesArticle/Chapter ViewAbstractPublication PagesicseConference Proceedingsconference-collections
Article

Atlas: a new way to explore software, build analysis tools

Published:31 May 2014Publication History

ABSTRACT

Atlas is a new software analysis platform from EnSoft Corp. Atlas decouples the domain-specific analysis goal from its underlying mechanism by splitting analysis into two distinct phases. In the first phase, polynomial-time static analyzers index the software AST, building a rich graph database. In the second phase, users can explore the graph directly or run custom analysis scripts written using a convenient API. These features make Atlas ideal for both interaction and automation. In this paper, we describe the motivation, design, and use of Atlas. We present validation case studies, including the verification of safe synchronization of the Linux kernel, and the detection of malware in Android applications. Our ICSE 2014 demo explores the comprehension and malware detection use cases. Video: http://youtu.be/cZOWlJ-IO0k

References

  1. S. K. Ahmed Tamrawi, Gui Kang. Event Flow Graphs to Verify Absence of Vulnerabilities and Malicious Behaviors. IEEE Trans. Softw. Eng., 2013.Google ScholarGoogle Scholar
  2. A. Aiken, S. Bugrara, I. Dillig, T. Dillig, B. Hackett, and P. Hawkins. An Overview of the Saturn Project. In Proc. 7th ACM SIGPLAN-SIGSOFT Work. Progr. Anal. Softw. Tools Eng., PASTE ’07, pages 43–48, New York, NY, USA, 2007. ACM. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. S. B. Akers. Binary Decision Diagrams. Comput. IEEE Trans., C-27(6):509–516, June 1978. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. D. Babic. Exploiting structure for scalable software verification. 2008.Google ScholarGoogle Scholar
  5. A. Brühlmann and T. Gˆırba. Enriching reverse engineering with annotations. Model Driven Eng.. .., 5301:660–674, 2008.Google ScholarGoogle Scholar
  6. Y. Chen. The C information abstraction system.. .., IEEE Trans., 16(3), 1990. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. J. Cordy. Comprehending reality-practical barriers to industrial adoption of software maintenance automation.. .., 2003. 11th IEEE Int. Work., 2003. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. P. Devanbu. GENOA: a customizable language-and front-end independent code analyzer. Proc. 14th Int. Conf.. .., pages 307–317, 1992. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. J. Ebert and D. Bildhauer. Reverse engineering using graph queries.. .. Transform. Model. Eng., pages 335–362, 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. J. Ebert, B. Kullbach, V. Riediger, and A. Winter. GUPRO - Generic Understanding of Programs An Overview. Electron. Notes Theor. Comput. Sci., 72(2):47–56, Nov. 2002.Google ScholarGoogle ScholarCross RefCross Ref
  11. S. Elliott Sim, C. Clarke, R. Holt, and a.M. Cox. Browsing and searching software architectures. Proc. IEEE Int. Conf. Softw. Maint. - 1999 (ICSM’99). ’Software Maint. Bus. Chang. (Cat. No.99CB36360), pages 381–390, 1999. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. K. Gui. Proving safety properties of software. PhD thesis, Iowa State University, 2012. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. F. B. Jr. The computer scientist as toolsmith II. Commun. ACM, 39(3):61–68, 1996. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. S. Paul and A. Prakash. A framework for source code search using program patterns. Softw. Eng. IEEE Trans.. .., 1994. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. S. Paul and A. Prakash. A query algebra for program databases. Softw. Eng. IEEE Trans.. .., 1996. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Atlas: a new way to explore software, build analysis tools

                Recommendations

                Comments

                Login options

                Check if you have access through your login credentials or your institution to get full access on this article.

                Sign in
                • Published in

                  cover image ACM Conferences
                  ICSE Companion 2014: Companion Proceedings of the 36th International Conference on Software Engineering
                  May 2014
                  741 pages
                  ISBN:9781450327688
                  DOI:10.1145/2591062

                  Copyright © 2014 ACM

                  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]

                  Publisher

                  Association for Computing Machinery

                  New York, NY, United States

                  Publication History

                  • Published: 31 May 2014

                  Permissions

                  Request permissions about this article.

                  Request Permissions

                  Check for updates

                  Qualifiers

                  • Article

                  Acceptance Rates

                  Overall Acceptance Rate276of1,856submissions,15%

                  Upcoming Conference

                  ICSE 2025

                PDF Format

                View or Download as a PDF file.

                PDF

                eReader

                View online with eReader.

                eReader