Atlas: A New Way to Explore Software, Build Analysis Tools

被引:17
作者
Deering, Tom [1 ]
Kothari, Suresh [1 ]
Sauceda, Jeremias [2 ]
Mathews, Jon [2 ]
机构
[1] Iowa State Univ, Dept Elect & Comp Engn, Ames, IA 50011 USA
[2] EnSoft Corp, Ames, IA USA
来源
36TH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING (ICSE COMPANION 2014) | 2014年
关键词
Static analysis; Analysis platform; Human-in-the-loop;
D O I
10.1145/2591062.2591065
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
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.
引用
收藏
页码:588 / 591
页数:4
相关论文
共 15 条
[1]   An Overview of the Saturn Project [J].
Aiken, Alex ;
Bugrara, Suhabe ;
Dillig, Isil ;
Dillig, Thomas ;
Hackett, Brian ;
Hawkins, Peter .
PASTE'07 PROCEEDINGS OF THE 2007 ACM SIGPLAN- SIGSOFT WORKSHOP ON PROGRAM ANALYSIS FOR SOFTWARE TOOLS & ENGINEERING, 2007, :43-48
[2]  
AKERS SB, 1978, IEEE T COMPUT, V27, P509, DOI 10.1109/TC.1978.1675141
[3]  
Babic Domagoj., 2008, Exploiting Structure for Scalable Software Verification
[4]   The computer scientist as toolsmith .2. [J].
Brooks, F .
COMMUNICATIONS OF THE ACM, 1996, 39 (03) :61-68
[5]  
Bruehlmann A, 2008, LECT NOTES COMPUT SC, V5301, P660, DOI 10.1007/978-3-540-87875-9_46
[6]  
Chen Y., 1990, IEEE Transactions on, V16
[7]  
Cordy J., 2003, 2013 11 IEEE INT WOR
[8]  
Devanbu P. T., 1992, International Conference on Software Engineering, P307, DOI 10.1145/143062.143148
[9]  
Ebert J., 2002, Electronic Notes in Theoretical Computer Science, V72, P47
[10]  
Ebert J, 2010, LECT NOTES COMPUT SC, V5765, P335, DOI 10.1007/978-3-642-17322-6_15