ไม่เข้าใจวิธีการสแกนจาก AWB หลังจากแก้ไขซอร์สโค้ด

โครงการของฉันเป็นโครงการ C ที่ค่อนข้างเล็ก การเรียกใช้ sourceanalyzer จากบรรทัดคำสั่งจะเสร็จสิ้นภายในเวลาประมาณ 3 นาทีสำหรับทั้งการแปลและการสแกน

เอกสารระบุว่าหาก .fpr ถูกสร้างขึ้นจากบรรทัดคำสั่ง และฉันจำเป็นต้องสแกนอีกครั้งจาก AWB ปุ่ม อัปเดตการแปลโครงการ จะเป็นสีเทา (ซึ่งก็คือ) แต่หากฉันแก้ไขซอร์สโค้ด เอกสารบอกว่าฉันต้องอัปเดตการแปลก่อนจึงจะสามารถสแกนโค้ดใหม่ได้ ซึ่งหมายความว่าฉันต้องรัน sourceanalyzer จากบรรทัดคำสั่งอีกครั้ง (เนื่องจากตัวเลือกคือ เป็นสีเทาใน AWB) อย่างไรก็ตาม การใช้ sourceanalyzer จะเขียน .fpr ใหม่ ซึ่งหมายความว่าฉันจะสูญเสียการตรวจสอบและตัวกรองที่กำหนดเองทั้งหมดที่ฉันสร้างใน AWB

คำถามที่ 1: ฉันสามารถเรียกใช้ sourceanalyzer จากบรรทัดคำสั่งสำหรับทั้งการแปลและการสแกนโดยไม่สูญเสียงานตรวจสอบและตัวกรองแบบกำหนดเองที่ฉันสร้างใน AWB ได้หรือไม่

ดูเหมือนว่าขั้นตอนถัดไปคือการสร้าง .fpr จาก AWB แต่ถ้าฉันพยายามใช้ AWB เพื่อเริ่มโปรเจ็กต์ใหม่โดยใช้ การสแกนขั้นสูง... จะต้องใช้เวลามากกว่าหนึ่งชั่วโมงกว่าจะเสร็จสิ้นขั้นตอน การสร้างไฟล์ระดับกลาง - JtsWrapper.java เมื่อเสร็จแล้ว ผลลัพธ์แสดง 0 ปัญหา

คำถามที่ 2: ฉันจะใช้ AWB เพื่อเริ่มโปรเจ็กต์ใหม่บนโปรเจ็กต์ C ที่ไม่ได้ใช้ Java ได้อย่างไร เมื่อฉันเลือก เริ่มโครงการใหม่ -> การสแกนขั้นสูง ระบบจะถามถึงเวอร์ชัน Java นั่นหมายความว่าคิดว่าโปรเจ็กต์ของฉันเป็นโปรเจ็กต์ Java ใช่หรือไม่

นี่คือวิธีที่ฉันใช้ sourceanalyzer:

sourceanalyzer -clean

sourceanalyzer -64 -b myproj \
           -build-label myproj \
           -build-project myproj \
           -build-version 1.0.0 \
            touchless make -j6 -k 

sourceanalyzer -64 -b myproj \
             -build-label myproj \
             -build-project myproj \
             -build-version 1.0.0 \
             -scan \
             -f myproj.fpr

person Kelly Johnson    schedule 26.05.2016    source แหล่งที่มา


คำตอบ (1)


คำถามที่ 1)

มีสองตัวเลือกสำหรับการเก็บความคิดเห็น การตรวจสอบ และตัวกรองก่อนหน้า/ที่มีอยู่ของคุณไว้เมื่อสร้างการสแกนใหม่

ก) หากคุณสแกนครั้งที่สองและให้ -f ชี้ไปที่ไฟล์ .fpr ที่มีอยู่ซึ่งมีการแก้ไข sourceanalyzer จะรวมผลลัพธ์ใหม่เข้ากับ .fpr นั้นโดยอัตโนมัติ

b) มียูทิลิตีบรรทัดคำสั่งเพื่อรวมสองไฟล์เข้าด้วยกัน:

fprutility -merge -project <old.fpr> -source <new.fpr> -f <merged.fpr>

เมื่อคุณพูดว่า "ขั้นตอนถัดไปที่ดูเหมือนจะเป็นการสร้าง .fpr จาก AWB" ฉันไม่เห็นด้วย. ความสามารถในการสแกนที่บรรทัดคำสั่งทำให้กระบวนการสามารถทำซ้ำและเป็นอัตโนมัติได้ ปลั๊กอิน AWB และ IDE ล้วนเป็นส่วนหน้าสำหรับ sourceanalyzer.exe

คำถามที่ 2)

ฉันไม่แน่ใจว่าคุณใช้ Fortify SCA เวอร์ชันใด แต่เมื่อฉันชี้การสแกนขั้นสูงไปที่โปรเจ็กต์ตัวอย่าง c++ (<HPE Fortify Install Dir>/Samples/Basic/cpp) ฉันจะไม่ถูกถามเกี่ยวกับเวอร์ชัน Java (ฉันใช้เวอร์ชัน 16.10)

สองสามอย่างเกี่ยวกับอาร์กิวเมนต์บรรทัดคำสั่งของคุณ:

  • -64 ใช้งานได้หลายเวอร์ชันโดยอัตโนมัติแล้ว (ไม่แน่ใจว่าสวิตช์เกิดขึ้นเมื่อใด)
  • -build-label myproj เป็นทางเลือก
  • -build-project myproj เป็นทางเลือก
  • -build-version 1.0.0 เป็นทางเลือก
person SBurris    schedule 27.05.2016
comment
ขอบคุณสำหรับความช่วยเหลือของคุณ. ฉันดีใจที่ได้รู้เกี่ยวกับความฉับไว ความคิดเห็นของคุณในก) ไม่สอดคล้องกับประสบการณ์ของฉัน หากฉันสร้างตัวกรองแบบกำหนดเองและการวิเคราะห์การตรวจสอบสำหรับปัญหาบางอย่างใน AWB จากนั้นทำการสแกนอีกครั้งโดยใช้ตัววิเคราะห์แหล่งที่มา จากนั้นเปิด .fpr ใหม่ใน AWB งานก่อนหน้านี้ทั้งหมดของฉันจะหายไป - person Kelly Johnson; 27.05.2016
comment
เวอร์ชัน AWB: 4.40.0089 เวอร์ชัน SCA: 6.40.0089 - person Kelly Johnson; 27.05.2016
comment
ฉันเพิ่งค้นพบตัวเลือกอื่นใน sourceanalyzer ที่ดูเหมือนว่าจะได้ผลสำหรับฉัน ถ้าฉันเพิ่ม -ผนวก ในการสแกน มันจะเก็บงานก่อนหน้าของฉันไว้ เกี่ยวกับคำถามที่ 2) เมื่อฉันชี้การสแกนขั้นสูงไปที่โปรเจ็กต์เดียวกับที่คุณทำ ฉันจะไม่ได้รับตัวเลือก Java เช่นกัน ฉันจะได้รับมันเฉพาะเมื่อฉันชี้ไปที่โฟลเดอร์ C ของฉันเท่านั้น ฉันเพิ่งสังเกตเห็นว่ามีโฟลเดอร์ชื่อ Java ในโฟลเดอร์โครงการของฉันซึ่งฉันไม่เคยสังเกตเห็นมาก่อน หลังจากลบโฟลเดอร์นั้นออก ฉันพบลักษณะการทำงานตามที่คาดหวัง แต่ตอนนี้ไม่ใช่ปัญหาแล้ว เนื่องจากตัวเลือก -append ทำหน้าที่ได้ และตามที่คุณชี้ให้เห็น มันเป็นตัวเลือกที่ดีกว่า - person Kelly Johnson; 27.05.2016
comment
มีบางอย่างดูผิดปกติเล็กน้อย หากตัวเลือก -append ใช้งานได้ ฉันก็สับสนเล็กน้อย นอกจากนี้ เมื่อดำเนินการตัวเลือก -append ผลลัพธ์จะไม่ได้รับการรับรองอีกต่อไป (ดูในแท็บสรุปโครงการ) - person SBurris; 28.05.2016
comment
ฉันไม่รู้ว่าเมื่อก่อนมันเกิดขึ้นได้อย่างไร แต่ตอนนี้มันทำงานอย่างที่คุณพูดแล้ว ฉันสามารถเรียกใช้ Sourceanalyzer จากบรรทัดคำสั่งได้ และจะไม่สูญเสียการตรวจสอบอีกต่อไป ฉันไม่สามารถอธิบายได้ แต่ขอบคุณสำหรับความช่วยเหลือของคุณ - person Kelly Johnson; 02.06.2016